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

Disassembly:
sub esp, 0xe0
mov eax, dword [esp + 0xf0]
push ebx
push ebp
push esi
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [esp + 0xf0]
push edi
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0x48], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esp + 0x58], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [esp + 0x68], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmmword [esp + 0x78], xmm0
movq xmm0, qword [eax + 0x50]
mov eax, dword [esp + 0x104]
or eax, dword [esp + 0x108]
movq qword [esp + 0x88], xmm0
je 0x44d2cd
push 0
push 0x3c
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.0044ce20
add esp, 0x10
or eax, edx
jne 0x44d39a
push 0
push 0x3c
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.0044ce20
add esp, 0x10
or eax, edx
jne 0x44d39a
push eax
push 0x18
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.0044ce20
add esp, 0x10
or eax, edx
jne 0x44d39a
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
test ebx, ebx
jl 0x44d32b
jg 0x44d31a
test ebp, ebp
jb 0x44d32b
push 0
push 0xc
push ebx
push ebp
call fcn.004b48b0
mov esi, eax
mov edi, edx
jmp 0x44d34a
mov ecx, ebp
mov eax, ebx
add ecx, 1
push 0
push 0xc
adc eax, 0
push eax
push ecx
call fcn.004b48b0
mov esi, eax
mov edi, edx
sub esi, 1
sbb edi, 0
mov eax, esi
mov ecx, edi
shld ecx, eax, 2
shl eax, 2
sub eax, esi
sbb ecx, edi
neg eax
adc ecx, 0
neg ecx
shld ecx, eax, 2
shl eax, 2
add ebp, eax
mov dword [esp + 0x58], ebp
adc ebx, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x5c], ebx
test ecx, ecx
js 0x44d3aa
mov eax, closesocket
sub eax, ecx
cdq
cmp edi, edx
jl 0x44d394
jg 0x44d38d
cmp esi, eax
jbe 0x44d394
mov eax, 1
jmp 0x44d396
xor eax, eax
test eax, eax
je 0x44d3bc
pop edi
pop esi
or eax, 0xffffffff
pop ebp
or edx, eax
pop ebx
add esp, 0xe0
ret
mov eax, closesocket
sub eax, ecx
cdq
cmp edi, edx
jl 0x44d39a
jg 0x44d3bc
cmp esi, eax
jb 0x44d39a
lea eax, [esi + ecx]
push 0
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push 0x76c
push eax
call fcn.0044cc70
add esp, 0xc
or eax, edx
jne 0x44d39a
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
test ebx, ebx
jg 0x44d4b3
jl 0x44d3f5
test edi, edi
jne 0x44d4b3
mov esi, dword [esp + 0x10]
mov ecx, closesocket
sub ecx, esi
test esi, esi
js 0x44d40e
lea eax, [ecx - 1]
cmp eax, 0xffffffff
jl 0x44d39a
jmp 0x44d413
cmp ecx, 0xffffffff
jg 0x44d39a
dec esi
inc ecx
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], ecx
jl 0x44d432
jg 0x44d42b
cmp ebp, 1
jbe 0x44d432
mov eax, 1
jmp 0x44d434
xor eax, eax
lea ecx, [eax + esi]
mov eax, ecx
mov dword [esp + 0x28], ecx
and eax, reloc.WS2_32.dll_closesocket
jns 0x44d44b
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x44d48b
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
jne 0x44d484
mov ecx, dword [esp + 0x28]
mov eax, 0x51eb851f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x190
sub ecx, eax
jne 0x44d48b
mov eax, dword [0x4ed83c]
jmp 0x44d490
mov eax, dword [0x4ed838]
mov ecx, dword [esp + 0x1c]
cdq
add edi, eax
mov dword [esp + 0x50], edi
adc ebx, edx
mov dword [esp + 0x54], ebx
js 0x44d400
jg 0x44d4b7
test edi, edi
je 0x44d400
jmp 0x44d4b7
mov esi, dword [esp + 0x10]
test ebx, ebx
jl 0x44d599
jg 0x44d4cd
cmp edi, 0x16e
jbe 0x44d599
mov eax, closesocket
sub eax, esi
mov dword [esp + 0x14], eax
cmp dword [esp + 0x5c], 0
jl 0x44d4ed
jg 0x44d4e6
cmp ebp, 1
jbe 0x44d4ed
mov eax, 1
jmp 0x44d4ef
xor eax, eax
lea ecx, [eax + esi]
mov eax, ecx
mov dword [esp + 0x1c], ecx
and eax, reloc.WS2_32.dll_closesocket
jns 0x44d506
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x44d546
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
jne 0x44d53f
mov ecx, dword [esp + 0x1c]
mov eax, 0x51eb851f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x190
sub ecx, eax
jne 0x44d546
mov eax, dword [0x4ed83c]
jmp 0x44d54b
mov eax, dword [0x4ed838]
cdq
sub edi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], edi
sbb ebx, edx
mov dword [esp + 0x54], ebx
test esi, esi
js 0x44d570
dec eax
cmp eax, 1
jl 0x44d39a
mov eax, dword [esp + 0x14]
jmp 0x44d579
cmp eax, 1
jg 0x44d39a
inc esi
dec eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
test ebx, ebx
jg 0x44d4d8
jl 0x44d599
cmp edi, 0x16e
ja 0x44d4d8
mov eax, closesocket
sub eax, esi
mov dword [esp + 0x14], eax
mov eax, esi
and eax, reloc.WS2_32.dll_closesocket
jns 0x44d5b4
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x44d5f4
mov eax, 0x51eb851f
mov ecx, esi
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
jne 0x44d5ed
mov eax, 0x51eb851f
mov ecx, esi
imul esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x190
sub ecx, eax
jne 0x44d5f4
mov eax, 0xc
jmp 0x44d5f6
xor eax, eax
add eax, ebp
mov eax, dword [eax*4 + 0x4ed7d8]
cdq
cmp ebx, edx
jl 0x44d689
jg 0x44d60e
cmp edi, eax
jbe 0x44d689
sub edi, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], edi
sbb ebx, edx
add ebp, 1
mov dword [esp + 0x54], ebx
adc eax, 0
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], eax
js 0x44d5a4
jg 0x44d63d
cmp ebp, 0xc
jb 0x44d5a4
mov ecx, dword [esp + 0x14]
xorps xmm0, xmm0
movlpd qword [esp + 0x58], xmm0
test esi, esi
js 0x44d66d
lea eax, [ecx - 1]
cmp eax, 1
jl 0x44d39a
mov ebp, dword [esp + 0x58]
inc esi
dec ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
jmp 0x44d5a4
cmp ecx, 1
jg 0x44d39a
mov ebp, dword [esp + 0x58]
inc esi
dec ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
jmp 0x44d5a4
push 0xffffffffffffffff
lea eax, [esp + 0x14]
push 0xfffff894
push eax
call fcn.0044cc70
add esp, 0xc
or eax, edx
jne 0x44d39a
mov ecx, dword [esp + 0x10]
mov eax, ecx
cdq
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], edx
test eax, eax
ja 0x44d6f3
jb 0x44d6cf
cmp edx, 0x3b
ja 0x44d6f3
xorps xmm0, xmm0
movlpd qword [esp + 0x90], xmm0
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], ecx
jmp 0x44d744
lea eax, [ecx + 0x76c]
cmp eax, 0x7b2
jge 0x44d73b
push 0xffffffffffffffff
lea eax, [esp + 0x3c]
push 0xffffffffffffffc5
push eax
call fcn.0044cbf0
add esp, 0xc
or eax, edx
jne 0x44d39a
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], 0x3b
mov dword [esp + 0x3c], 0
jmp 0x44d744
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov ebp, closesocket
xor edi, edi
mov dword [esp + 0x14], ebp
or esi, 0xffffffff
mov ebx, closesocket
mov dword [esp + 0x10], ebx
nop dword [eax + eax]
push 0
push 2
push ebx
push esi
call fcn.004b48b0
push 0
push 2
push ebp
push edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], edx
call fcn.004b48b0
mov ecx, dword [esp + 0x18]
add ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
adc eax, edx
mov dword [esp + 0x24], eax
cmp eax, ebp
jg 0x44d7a6
jl 0x44d79c
cmp ecx, edi
jae 0x44d7a6
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
jmp 0x44d7b8
cmp eax, ebx
jl 0x44d7b8
jg 0x44d7b0
cmp ecx, esi
jbe 0x44d7b8
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebx
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x100]
lea eax, [esp + 0x28]
push eax
call dword [esp + 0x104]
mov ebp, dword [esp + 0x30]
add esp, 0xc
mov ebx, dword [esp + 0x20]
test eax, eax
jne 0x44d7fc
test ebp, ebp
jl 0x44d7f5
jg 0x44d7ec
test ebx, ebx
je 0x44d7f5
mov eax, 1
xor edx, edx
jmp 0x44d811
or eax, 0xffffffff
or edx, eax
jmp 0x44d811
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.0044e400
add esp, 8
mov ecx, eax
mov dword [esp + 0x18], eax
or ecx, edx
je 0x44d8b9
mov ecx, dword [esp + 0x14]
cmp ebx, edi
jne 0x44d87c
cmp ebp, ecx
jne 0x44d87c
cmp ebx, 0xffffffff
jne 0x44d83c
cmp ebp, 0x7fffffff
je 0x44d39a
add ebx, 1
adc ebp, 0
add edi, 1
adc ecx, 0
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x10]
cmp ecx, eax
jg 0x44d39a
jl 0x44d862
cmp edi, esi
ja 0x44d39a
test edx, edx
jl 0x44d8aa
jg 0x44d86f
cmp dword [esp + 0x18], 0
jbe 0x44d8aa
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x14]
jmp 0x44d757
cmp ebx, esi
jne 0x44d84c
mov eax, dword [esp + 0x10]
cmp ebp, eax
jne 0x44d850
test ebx, ebx
jne 0x44d898
cmp ebp, 0x80000000
je 0x44d39a
add ebx, 0xffffffff
adc ebp, 0xffffffff
add esi, 0xffffffff
adc eax, 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x44d850
mov edi, ebx
mov dword [esp + 0x14], ebp
mov ebx, dword [esp + 0x10]
jmp 0x44d760
mov esi, dword [esp + 0x7c]
test esi, esi
jl 0x44d9ff
mov ecx, dword [esp + 0x78]
jg 0x44d8d3
test ecx, ecx
jb 0x44d9ff
cmp dword [esp + 0xd8], ecx
jne 0x44d8e9
cmp dword [esp + 0xdc], esi
je 0x44d9ff
mov edi, dword [0x641db8]
lea eax, [edi - 1]
cdq
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
test edx, edx
jl 0x44d39a
jg 0x44d910
test eax, eax
jb 0x44d39a
nop dword [eax]
lea eax, [eax + eax*4]
shl eax, 2
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x64641c]
cdq
cmp eax, ecx
jne 0x44da5e
cmp edx, esi
jne 0x44da5e
lea eax, [edi - 1]
cdq
mov ecx, edx
mov edi, eax
mov dword [esp + 0x18], ecx
test ecx, ecx
jl 0x44da54
jg 0x44d950
test edi, edi
jb 0x44da54
nop
lea eax, [edi + edi*4]
shl eax, 2
mov dword [esp + 0x90], eax
mov eax, dword [eax + 0x64641c]
cdq
cmp eax, dword [esp + 0x78]
jne 0x44d972
cmp edx, esi
je 0x44da38
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x646418]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x646418]
cdq
sub eax, ecx
sbb edx, esi
add eax, ebx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x100]
lea eax, [esp + 0x38]
adc edx, ebp
push eax
mov dword [esp + 0x40], edx
call dword [esp + 0x104]
add esp, 0xc
test eax, eax
je 0x44da28
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.0044e400
mov esi, dword [esp + 0x84]
add esp, 8
or eax, edx
jne 0x44da2c
mov eax, dword [esp + 0x78]
cmp dword [esp + 0xd8], eax
jne 0x44da2c
cmp dword [esp + 0xdc], esi
jne 0x44da2c
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov eax, ebx
mov edi, dword [esp + 0x1c]
add eax, edx
mov ecx, ebp
mov dword [esp + 0x30], eax
adc ecx, edi
mov dword [esp + 0x34], ecx
cmp ecx, ebp
jg 0x44da79
jl 0x44da21
cmp eax, ebx
jae 0x44da79
mov esi, 1
jmp 0x44da7b
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add edi, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 0x18], ecx
test ecx, ecx
jg 0x44d950
jl 0x44da54
test edi, edi
jae 0x44d950
mov ecx, dword [esp + 0x78]
mov edi, dword [0x641db8]
mov eax, dword [esp + 0x14]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
adc dword [esp + 0x10], 0xffffffff
js 0x44d39a
jmp 0x44d903
xor esi, esi
test edi, edi
jg 0x44da8c
jl 0x44da85
test edx, edx
jae 0x44da8c
mov edx, 1
jmp 0x44da8e
xor edx, edx
cmp esi, edx
jne 0x44d39a
push dword [esp + 0xf4]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push dword [esp + 0x100]
mov dword [esp + 0x2c], ecx
push eax
call dword [esp + 0x104]
add esp, 0xc
test eax, eax
je 0x44dad3
mov eax, dword [esp + 0x100]
mov dword [eax], 1
mov dword [eax + 4], 0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret