Function at 0x45e890
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x7c
mov eax, dword [esp + 0x80]
push ebx
push ebp
push esi
xor ebx, ebx
or esi, 0xffffffff
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], esi
mov dl, byte [eax]
mov ecx, esi
test dl, dl
push edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
mov ebp, esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x28], ebx
je 0x45ec09
cmp dword [esp + 0x28], 6
jge 0x45ebfd
lea eax, [esp + 0x90]
mov byte [esp + 0x13], 0
push eax
call fcn.0045ede0
mov eax, dword [0x4b54f8]
mov edi, 1
add esp, 4
cmp eax, edi
jle 0x45e92d
mov edx, dword [esp + 0x90]
xor ecx, ecx
push 0x103
mov cl, byte [edx]
push ecx
call fcn.0043056d
mov edx, dword [esp + 0x98]
add esp, 8
jmp 0x45e947
mov edx, dword [esp + 0x90]
mov ecx, dword [str.________________________________H]
xor eax, eax
mov al, byte [edx]
mov ax, word [ecx + eax*2]
and eax, 0x103
cmp eax, ebx
je 0x45e9f3
mov al, byte [0x4c05e4]
mov ecx, 7
mov byte [esp + 0x44], al
xor eax, eax
lea edi, [esp + 0x45]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x44]
stosw word es:[edi], ax
push ecx
push str._31_A_Za_z_
push edx
stosb byte es:[edi], al
call fcn.0047e7d9
lea edi, [esp + 0x50]
mov ecx, esi
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x38]
or edi, 0xffffffff
not ecx
dec ecx
cmp eax, edi
mov esi, ecx
jne 0x45e9ab
lea edx, [esp + 0x44]
push esi
push edx
call fcn.0045ed10
add esp, 8
cmp eax, edi
mov dword [esp + 0x38], eax
jne 0x45e9e5
cmp dword [esp + 0x1c], edi
jne 0x45e9c6
lea eax, [esp + 0x44]
push eax
call fcn.0045ed60
add esp, 4
cmp eax, edi
mov dword [esp + 0x1c], eax
jne 0x45e9e5
cmp ebp, edi
jne 0x45ebe9
lea ecx, [esp + 0x44]
push ecx
call fcn.0045eda0
mov ebp, eax
add esp, 4
cmp ebp, edi
je 0x45ebe9
mov edx, dword [esp + 0x90]
add edx, esi
jmp 0x45ebcb
cmp dword [0x4b54f8], edi
jle 0x45ea13
xor eax, eax
push 4
mov al, byte [edx]
push eax
call fcn.0043056d
mov edx, dword [esp + 0x98]
add esp, 8
jmp 0x45ea22
mov eax, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [edx]
mov al, byte [eax + ecx*2]
and eax, 4
cmp eax, ebx
je 0x45ebd5
cmp dword [esp + 0x20], esi
jne 0x45ea68
lea ecx, [esp + 0x20]
lea eax, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x34]
push eax
push ecx
push str._02d:_02d:_02d
push edx
call fcn.0047e7d9
mov edx, dword [esp + 0xa4]
add esp, 0x14
cmp eax, 3
jne 0x45ea68
add edx, 8
mov dword [esp + 0x90], edx
jmp 0x45ebd5
lea eax, [esp + 0x3c]
push 0xa
push eax
push edx
call fcn.0042d05f
add esp, 0xc
cmp ebp, esi
mov esi, dword [esp + 0x90]
mov ecx, eax
jne 0x45eae6
mov edx, dword [esp + 0x3c]
sub edx, esi
cmp edx, 4
jne 0x45eae6
cmp ecx, 0x514
jge 0x45eae6
cmp dword [esp + 0x40], esi
jae 0x45eae6
mov bl, byte [esi - 1]
cmp bl, 0x2b
je 0x45eaab
cmp bl, 0x2d
jne 0x45eae4
mov eax, 0x51eb851f
mov ebp, 0x64
imul ecx
sar edx, 5
mov eax, edx
mov byte [esp + 0x13], 1
shr eax, 0x1f
add edx, eax
lea eax, [edx + edx*2]
lea edi, [eax + eax*4]
mov eax, ecx
cdq
idiv ebp
lea eax, [edx + edi*4]
lea eax, [eax + eax*2]
lea ebp, [eax + eax*4]
shl ebp, 2
cmp bl, 0x2b
jne 0x45eae4
neg ebp
xor ebx, ebx
mov edi, dword [esp + 0x3c]
mov edx, edi
sub edx, esi
cmp edx, 8
jne 0x45eb50
mov eax, dword [esp + 0x14]
or edx, 0xffffffff
cmp eax, edx
jne 0x45eb53
cmp dword [esp + 0x1c], edx
jne 0x45eb53
cmp dword [esp + 0x18], edx
jne 0x45eb53
mov eax, 0x68db8bad
mov esi, 0x2710
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov dword [esp + 0x14], edx
cdq
idiv esi
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
lea edx, [edx + eax - 1]
mov eax, ecx
mov dword [esp + 0x1c], edx
mov ecx, 0x64
cdq
idiv ecx
mov dword [esp + 0x18], edx
jmp 0x45ebc9
or edx, 0xffffffff
mov al, byte [esp + 0x13]
test al, al
jne 0x45ebc9
mov eax, dword [esp + 0x24]
cmp eax, ebx
jne 0x45eb91
cmp dword [esp + 0x18], edx
jne 0x45ebf3
cmp ecx, ebx
jle 0x45eb7f
cmp ecx, 0x20
jge 0x45eb7f
mov dword [esp + 0x18], ecx
mov byte [esp + 0x13], 1
mov al, byte [esp + 0x13]
mov dword [esp + 0x24], 1
test al, al
jne 0x45ebc9
jmp 0x45eb96
cmp eax, 1
jne 0x45ebf3
cmp dword [esp + 0x14], edx
jne 0x45ebf3
cmp ecx, 0x76c
mov dword [esp + 0x14], ecx
jge 0x45ebbf
cmp ecx, 0x46
jle 0x45ebb5
add ecx, 0x76c
jmp 0x45ebbb
add ecx, 0x7d0
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], edx
jne 0x45ebc9
mov dword [esp + 0x24], ebx
mov edx, edi
mov dword [esp + 0x90], edx
or esi, 0xffffffff
mov ecx, dword [esp + 0x28]
mov al, byte [edx]
inc ecx
test al, al
mov dword [esp + 0x28], ecx
je 0x45ebfd
jmp 0x45e8dd
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x7c
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
cmp eax, esi
jne 0x45ec17
xor eax, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x18]
cmp edi, esi
je 0x45ecf8
mov edx, dword [esp + 0x1c]
cmp edx, esi
je 0x45ecf8
cmp ecx, esi
je 0x45ecf8
cmp ecx, 0x7f5
jle 0x45ec4c
pop edi
pop esi
pop ebp
mov eax, closesocket
pop ebx
add esp, 0x7c
ret
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x2c]
add ecx, 0xfffff894
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x70], eax
push ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
call fcn.0042e2d4
add esp, 4
cmp eax, esi
mov dword [esp + 0x34], eax
je 0x45ecfa
lea edx, [esp + 0x34]
push edx
call fcn.0042e4c6
add esp, 4
cmp eax, ebx
je 0x45ecf8
mov esi, eax
mov ecx, 9
lea edi, [esp + 0x44]
lea eax, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0042e2d4
mov ecx, ebp
add esp, 4
inc ecx
neg ecx
sbb ecx, ecx
and ecx, ebp
sub ecx, eax
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, ebx
jle 0x45ecee
lea edx, [ecx + eax]
cmp edx, eax
jge 0x45ecee
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x7c
ret
pop edi
pop esi
pop ebp
add eax, ecx
pop ebx
add esp, 0x7c
ret
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret