Function at 0x45d100
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 0x45d479
cmp dword [esp + 0x28], 6
jge 0x45d46d
lea eax, [esp + 0x90]
mov byte [esp + 0x13], 0
push eax
call fcn.0045d650
mov eax, dword [0x4b24b8]
mov edi, 1
add esp, 4
cmp eax, edi
jle 0x45d19d
mov edx, dword [esp + 0x90]
xor ecx, ecx
push 0x103
mov cl, byte [edx]
push ecx
call fcn.0043054d
mov edx, dword [esp + 0x98]
add esp, 8
jmp 0x45d1b7
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 0x45d263
mov al, byte [0x4bd5a4]
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.0047d049
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 0x45d21b
lea edx, [esp + 0x44]
push esi
push edx
call fcn.0045d580
add esp, 8
cmp eax, edi
mov dword [esp + 0x38], eax
jne 0x45d255
cmp dword [esp + 0x1c], edi
jne 0x45d236
lea eax, [esp + 0x44]
push eax
call fcn.0045d5d0
add esp, 4
cmp eax, edi
mov dword [esp + 0x1c], eax
jne 0x45d255
cmp ebp, edi
jne 0x45d459
lea ecx, [esp + 0x44]
push ecx
call fcn.0045d610
mov ebp, eax
add esp, 4
cmp ebp, edi
je 0x45d459
mov edx, dword [esp + 0x90]
add edx, esi
jmp 0x45d43b
cmp dword [0x4b24b8], edi
jle 0x45d283
xor eax, eax
push 4
mov al, byte [edx]
push eax
call fcn.0043054d
mov edx, dword [esp + 0x98]
add esp, 8
jmp 0x45d292
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 0x45d445
cmp dword [esp + 0x20], esi
jne 0x45d2d8
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.0047d049
mov edx, dword [esp + 0xa4]
add esp, 0x14
cmp eax, 3
jne 0x45d2d8
add edx, 8
mov dword [esp + 0x90], edx
jmp 0x45d445
lea eax, [esp + 0x3c]
push 0xa
push eax
push edx
call fcn.0042d03f
add esp, 0xc
cmp ebp, esi
mov esi, dword [esp + 0x90]
mov ecx, eax
jne 0x45d356
mov edx, dword [esp + 0x3c]
sub edx, esi
cmp edx, 4
jne 0x45d356
cmp ecx, 0x514
jge 0x45d356
cmp dword [esp + 0x40], esi
jae 0x45d356
mov bl, byte [esi - 1]
cmp bl, 0x2b
je 0x45d31b
cmp bl, 0x2d
jne 0x45d354
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 0x45d354
neg ebp
xor ebx, ebx
mov edi, dword [esp + 0x3c]
mov edx, edi
sub edx, esi
cmp edx, 8
jne 0x45d3c0
mov eax, dword [esp + 0x14]
or edx, 0xffffffff
cmp eax, edx
jne 0x45d3c3
cmp dword [esp + 0x1c], edx
jne 0x45d3c3
cmp dword [esp + 0x18], edx
jne 0x45d3c3
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 0x45d439
or edx, 0xffffffff
mov al, byte [esp + 0x13]
test al, al
jne 0x45d439
mov eax, dword [esp + 0x24]
cmp eax, ebx
jne 0x45d401
cmp dword [esp + 0x18], edx
jne 0x45d463
cmp ecx, ebx
jle 0x45d3ef
cmp ecx, 0x20
jge 0x45d3ef
mov dword [esp + 0x18], ecx
mov byte [esp + 0x13], 1
mov al, byte [esp + 0x13]
mov dword [esp + 0x24], 1
test al, al
jne 0x45d439
jmp 0x45d406
cmp eax, 1
jne 0x45d463
cmp dword [esp + 0x14], edx
jne 0x45d463
cmp ecx, 0x76c
mov dword [esp + 0x14], ecx
jge 0x45d42f
cmp ecx, 0x46
jle 0x45d425
add ecx, 0x76c
jmp 0x45d42b
add ecx, 0x7d0
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x18], edx
jne 0x45d439
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 0x45d46d
jmp 0x45d14d
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 0x45d487
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 0x45d568
mov edx, dword [esp + 0x1c]
cmp edx, esi
je 0x45d568
cmp ecx, esi
je 0x45d568
cmp ecx, 0x7f5
jle 0x45d4bc
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.0042e2b4
add esp, 4
cmp eax, esi
mov dword [esp + 0x34], eax
je 0x45d56a
lea edx, [esp + 0x34]
push edx
call fcn.0042e4a6
add esp, 4
cmp eax, ebx
je 0x45d568
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.0042e2b4
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 0x45d55e
lea edx, [ecx + eax]
cmp edx, eax
jge 0x45d55e
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