Function at 0x450300
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.0044cbaf
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 0x450367
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 0x4503c4
mov eax, dword [esp + 0x84]
cmp edx, eax
ja 0x4503c4
jb 0x4503a6
cmp ebp, ecx
ja 0x4503c4
sub ecx, ebp
sbb eax, edx
test eax, eax
ja 0x4503c4
jb 0x4503b8
cmp ecx, 0x1fffe
ja 0x4503c4
and dword [esp + 0x74], 0
fstp st(0)
jmp 0x45052b
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], eax
jb 0x4503eb
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 0x4504fd
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 0x4504ea
fsub st(1)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x4504ec
add ecx, edi
mov dword [esp + 0x74], ecx
adc edx, ebx
mov dword [esp + 0x2c], edx
jmp 0x4504ec
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 0x4505f1
push esi
call fcn.0044cac2
pop ecx
test eax, eax
je 0x4505f9
mov dword [esp + 0x74], 1
mov eax, dword [esi + 4]
push esi
and dword [eax + 0x180c], 0
call fcn.0044cd68
pop ecx
test eax, eax
je 0x4505f1
mov eax, dword [esi]
cmp dword [eax], 7
je 0x4505f1
mov eax, dword [esi + 4]
xor ecx, ecx
cmp dword [eax + 0x180c], ecx
jne 0x450570
cmp dword [esp + 0x74], ecx
je 0x4505f1
mov edx, dword [esp + 0x34]
mov dword [esp + 0x24], ecx
jmp 0x4505d4
cmp dword [eax + 0xe30], ecx
je 0x4505ec
mov edx, dword [eax + 0xec4]
mov ebp, dword [eax + 0xec0]
mov dword [esp + 0x34], edx
cmp dword [esp + 0x74], ecx
je 0x4505dc
cmp edx, dword [esp + 0x84]
ja 0x4505c0
jb 0x4505a2
cmp ebp, dword [esp + 0x80]
ja 0x4505c0
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], edx
cmp dword [esp + 0x14], ebx
jne 0x4505b6
cmp dword [esp + 0x18], edi
je 0x4505f1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
jmp 0x4505dc
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x10], ebx
jne 0x4505d4
cmp dword [esp + 0x78], edi
je 0x4505f1
mov dword [esp + 0x78], edi
mov dword [esp + 0x10], ebx
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
jmp 0x450388
xor eax, eax
inc eax
jmp 0x4505fb
mov eax, dword [esi]
mov dword [eax], 6
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret