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

Disassembly:
sub esp, 0x60
mov eax, dword [esp + 0x68]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x70]
push edi
xor edi, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x7c]
push esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
call fcn.0044ce5f
pop ecx
or ebp, 0xffffffff
mov dword [esp + 0x1c], edx
mov ebx, edi
mov dword [esp + 0x28], eax
and dword [esp + 0x20], ebx
mov ecx, eax
or ecx, dword [esp + 0x1c]
mov edx, ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], 2
jne 0x450617
and dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov dword [eax + 0x1800], ecx
mov dword [eax + 0x1804], esi
mov esi, dword [esp + 0x74]
cmp dword [esp + 0x20], 0
fld qword [0x520678]
je 0x450674
mov eax, dword [esp + 0x84]
cmp edx, eax
ja 0x450674
jb 0x450656
cmp ebp, ecx
ja 0x450674
sub ecx, ebp
sbb eax, edx
test eax, eax
ja 0x450674
jb 0x450668
cmp ecx, 0x1fffe
ja 0x450674
and dword [esp + 0x74], 0
fstp st(0)
jmp 0x4507db
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], eax
jb 0x45069b
mov ebx, dword [esp + 0x10]
fstp st(0)
add ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x78]
adc edi, dword [esp + 0x18]
shrd ebx, edi, 1
shr edi, 1
jmp 0x4507ad
mov eax, dword [esp + 0x10]
mov ebx, closesocket
sub eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
sbb ecx, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x40], eax
mov edx, edi
mov eax, ecx
mov dword [esp + 0x48], edi
and ecx, 0x7fffffff
mov dword [esp + 0x58], edi
and eax, 0x80000000
mov dword [esp + 0x44], ecx
fild qword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x38]
fild qword [esp + 0x48]
sbb ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
mov eax, ecx
and ecx, 0x7fffffff
mov dword [esp + 0x68], edi
and eax, 0x80000000
mov dword [esp + 0x54], ecx
fchs
mov ecx, dword [esp + 0x84]
faddp st(1)
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0x38]
mov dword [esp + 0x60], eax
sbb ecx, dword [esp + 0x3c]
fstp qword [esp + 0x2c]
fld qword [esp + 0x2c]
mov eax, ecx
fild qword [esp + 0x50]
and ecx, 0x7fffffff
and eax, ebx
mov dword [esp + 0x64], ecx
mov ecx, edi
mov dword [esp + 0x6c], eax
fild qword [esp + 0x58]
mov dword [esp + 0x74], ecx
fchs
faddp st(1)
fstp qword [esp + 0x2c]
fld qword [esp + 0x2c]
fild qword [esp + 0x60]
fild qword [esp + 0x68]
fchs
faddp st(1)
fstp qword [esp + 0x2c]
fdivr qword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fmulp st(1)
fcom st(1)
fnstsw ax
test ah, 1
jne 0x45079a
fsub st(1)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x45079c
add ecx, edi
mov dword [esp + 0x74], ecx
adc edx, ebx
mov dword [esp + 0x2c], edx
jmp 0x45079c
fstp st(1)
call fcn.00417216
mov ebx, eax
mov edi, edx
add ebx, dword [esp + 0x74]
adc edi, dword [esp + 0x2c]
mov eax, dword [esi + 4]
push dword [eax + 0x30]
push edi
push ebx
push esi
call dword [eax + 8]
add esp, 0x10
test eax, eax
jne 0x4508a1
push esi
call fcn.0044cd72
pop ecx
test eax, eax
je 0x4508a9
mov dword [esp + 0x74], 1
mov eax, dword [esi + 4]
push esi
and dword [eax + 0x180c], 0
call fcn.0044d018
pop ecx
test eax, eax
je 0x4508a1
mov eax, dword [esi]
cmp dword [eax], 7
je 0x4508a1
mov eax, dword [esi + 4]
xor ecx, ecx
cmp dword [eax + 0x180c], ecx
jne 0x450820
cmp dword [esp + 0x74], ecx
je 0x4508a1
mov edx, dword [esp + 0x34]
mov dword [esp + 0x24], ecx
jmp 0x450884
cmp dword [eax + 0xe30], ecx
je 0x45089c
mov edx, dword [eax + 0xec4]
mov ebp, dword [eax + 0xec0]
mov dword [esp + 0x34], edx
cmp dword [esp + 0x74], ecx
je 0x45088c
cmp edx, dword [esp + 0x84]
ja 0x450870
jb 0x450852
cmp ebp, dword [esp + 0x80]
ja 0x450870
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], edx
cmp dword [esp + 0x14], ebx
jne 0x450866
cmp dword [esp + 0x18], edi
je 0x4508a1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
jmp 0x45088c
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x10], ebx
jne 0x450884
cmp dword [esp + 0x78], edi
je 0x4508a1
mov dword [esp + 0x78], edi
mov dword [esp + 0x10], ebx
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
jmp 0x450638
xor eax, eax
inc eax
jmp 0x4508ab
mov eax, dword [esi]
mov dword [eax], 6
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret