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

Disassembly:
sub esp, 0x84
movsd xmm0, qword [esp + 0x88]
push ebx
push ebp
push esi
movsd qword [esp + 0x30], xmm0
mov ebx, dword [esp + 0x34]
mov esi, ebx
mov ebp, ebx
shr esi, 0x14
shr ebp, 0x1f
and ebx, 0xfffff
mov dword [esp + 0x2c], ebp
push edi
mov edi, dword [esp + 0x34]
and esi, 0x7ff
jne 0x10069621
mov eax, edi
or eax, ebx
jne 0x100694a9
mov eax, closesocket
mul ebp
pop edi
mov ecx, eax
xor eax, eax
mul ebp
add edx, ecx
add eax, esi
pop esi
pop ebp
adc edx, 0x31c00000
pop ebx
add esp, 0x84
ret
xor eax, eax
test ebx, ebx
ja 0x100694bf
jb 0x100694b5
cmp eax, edi
ja 0x100694bf
mov dword [esp + 0x24], 0x15
jmp 0x100694c7
mov dword [esp + 0x24], 0xfffffff5
mov ecx, ebx
movzx eax, bx
mov edx, edi
movzx esi, di
and ecx, 0xffff0000
and edx, 0xffff0000
cmp ecx, eax
ja 0x100694f1
jb 0x100694e7
cmp edx, esi
ja 0x100694f1
mov dword [esp + 0x14], 0x10
jmp 0x100694f9
mov dword [esp + 0x14], 0
mov ecx, ebx
mov eax, ebx
mov esi, edi
mov edx, edi
and ecx, 0xff00ff00
and eax, 0xff00ff
and esi, 0xff00ff00
and edx, 0xff00ff
cmp ecx, eax
ja 0x1006952c
jb 0x10069522
cmp esi, edx
ja 0x1006952c
mov dword [esp + 0x10], 8
jmp 0x10069534
mov dword [esp + 0x10], 0
mov ecx, ebx
mov eax, ebx
mov esi, edi
mov edx, edi
and ecx, 0xf0f0f0f0
and eax, 0xf0f0f0f
and esi, 0xf0f0f0f0
and edx, 0xf0f0f0f
cmp ecx, eax
ja 0x10069567
jb 0x1006955d
cmp esi, edx
ja 0x10069567
mov dword [esp + 0x18], 4
jmp 0x1006956f
mov dword [esp + 0x18], 0
mov ecx, ebx
mov eax, ebx
mov esi, edi
mov edx, edi
and ecx, 0xcccccccc
and eax, 0x33333333
and esi, 0xcccccccc
and edx, 0x33333333
cmp ecx, eax
ja 0x100695a2
jb 0x10069598
cmp esi, edx
ja 0x100695a2
mov dword [esp + 0x1c], 2
jmp 0x100695aa
mov dword [esp + 0x1c], 0
mov ecx, ebx
mov eax, ebx
mov esi, edi
mov edx, edi
and ecx, 0xaaaaaaaa
and eax, 0x55555555
and esi, 0xaaaaaaaa
and edx, 0x55555555
cmp ecx, eax
ja 0x100695da
jb 0x100695d3
cmp esi, edx
ja 0x100695da
mov eax, 1
jmp 0x100695dc
xor eax, eax
mov esi, dword [esp + 0x24]
mov edx, ebx
add esi, eax
mov eax, edi
add esi, dword [esp + 0x1c]
add esi, dword [esp + 0x18]
add esi, dword [esp + 0x10]
add esi, dword [esp + 0x14]
mov ecx, esi
call fcn.1006a230
mov ecx, dword [esp + 0xa4]
mov edi, eax
mov eax, 0xfffffbce
mov ebx, edx
sub eax, esi
mov dword [esp + 0x20], eax
xor eax, eax
or dword [ecx], 2
mov esi, dword [esp + 0x20]
jmp 0x100697b7
cmp esi, 0x7ff
jne 0x100696c4
mov eax, edi
or eax, ebx
jne 0x10069656
mov eax, closesocket
mul ebp
pop edi
mov ecx, eax
xor eax, eax
mul ebp
pop esi
add edx, ecx
add eax, 0
pop ebp
adc edx, 0x78000000
pop ebx
add esp, 0x84
ret
mov ecx, ebx
xor eax, eax
and ecx, 0x80000
or eax, ecx
jne 0x1006966e
mov eax, dword [esp + 0xa4]
or dword [eax], 1
shrd edi, ebx, 1
shr ebx, 1
and ebx, 0x3ffff
cmp ebx, 0x38d7e
jb 0x1006969d
ja 0x1006968c
cmp edi, 0xa4c67fff
jbe 0x1006969d
xorps xmm0, xmm0
movlpd qword [esp + 0x34], xmm0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov eax, closesocket
mul ebp
mov ecx, eax
xor eax, eax
mul ebp
add edx, ecx
add eax, edi
pop edi
adc edx, ebx
add eax, 0
pop esi
pop ebp
adc edx, 0x7c000000
pop ebx
add esp, 0x84
ret
add edi, 0
mov dword [esp + 0x14], 0
mov ecx, edi
mov edx, edi
adc ebx, 0x100000
neg ecx
mov eax, ebx
mov dword [esp + 0x10], ebx
adc eax, 0
and edx, ecx
neg eax
and dword [esp + 0x10], eax
mov eax, edi
and eax, ecx
or eax, 0
jne 0x100696fd
mov dword [esp + 0x14], 0x20
mov eax, dword [esp + 0x10]
movzx ecx, dx
movzx eax, ax
or ecx, eax
mov dword [esp + 0x18], 0
jne 0x1006971b
mov dword [esp + 0x18], 0x10
mov eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 0xff00ff
mov dword [esp + 0x1c], 0
and eax, 0xff00ff
or ecx, eax
jne 0x10069740
mov dword [esp + 0x1c], 8
mov eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 0xf0f0f0f
mov dword [esp + 0x24], 0
and eax, 0xf0f0f0f
or ecx, eax
jne 0x10069765
mov dword [esp + 0x24], 4
mov eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 0x33333333
and eax, 0x33333333
or ecx, eax
je 0x1006977e
xor ecx, ecx
jmp 0x10069783
mov ecx, 2
mov eax, dword [esp + 0x10]
and edx, 0x55555555
and eax, 0x55555555
or edx, eax
je 0x1006979a
xor eax, eax
jmp 0x1006979f
mov eax, 1
add eax, ecx
add eax, dword [esp + 0x24]
add eax, dword [esp + 0x1c]
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
sub esi, 0x433
shld ebx, edi, 4
sub esi, 0x3c
add eax, 0x3c
shl edi, 4
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], edi
test esi, esi
jg 0x10069a68
lea ecx, [eax + esi]
xorps xmm0, xmm0
neg ecx
movlpd qword [esp + 0x34], xmm0
mov dword [esp + 0x2c], ecx
test ecx, ecx
jg 0x100698dd
mov eax, 8
mov dword [esp + 0x1c], ebx
sub eax, esi
mov edx, edi
mov dword [esp + 0x20], eax
je 0x10069855
cmp eax, 0x40
mov edx, ebx
mov eax, edi
jl 0x10069822
mov ecx, 0xffffffc8
sub ecx, esi
call fcn.1006a250
mov ecx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
jmp 0x1006986f
lea ecx, [esi + 0x38]
call fcn.1006a230
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, edi
mov dword [esp + 0x18], edx
mov edx, ebx
call fcn.1006a250
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
jmp 0x10069865
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
or edx, dword [esp + 0x1c]
jne 0x10069a68
cmp ecx, 0x2386f2
ja 0x10069a68
jb 0x10069888
cmp eax, 0x6fc10000
jae 0x10069a68
mov eax, closesocket
mul ebp
mov ecx, eax
xor eax, eax
mul ebp
add ecx, edx
mov edx, dword [esp + 0x10]
add eax, edx
adc ecx, dword [esp + 0x18]
cmp dword [esp + 0x18], 0x200000
ja 0x100698c7
jb 0x100698b1
test edx, edx
jae 0x100698c7
pop edi
add eax, 0
pop esi
adc ecx, 0x31c00000
pop ebp
mov edx, ecx
pop ebx
add esp, 0x84
ret
pop edi
add eax, 0
pop esi
adc ecx, 0x6c500000
pop ebp
mov edx, ecx
pop ebx
add esp, 0x84
ret
cmp ecx, 0x30
jg 0x10069a68
shl ecx, 4
mov edx, ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], edi
movups xmm0, xmmword [ecx + 0x10197a90]
lea ecx, [eax + 8]
mov dword [esp + 0x28], ecx
movups xmmword [esp + 0x44], xmm0
test ecx, ecx
je 0x10069969
cmp ecx, 0x40
jl 0x10069938
lea ecx, [eax - 0x38]
mov eax, edi
call fcn.1006a250
xorps xmm0, xmm0
mov ecx, eax
movlpd qword [esp + 0x34], xmm0
mov eax, edx
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x30]
jmp 0x10069971
mov ecx, 0x38
sub ecx, eax
mov eax, edi
call fcn.1006a230
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, edi
mov dword [esp + 0x10], edx
mov edx, ebx
call fcn.1006a250
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
jmp 0x10069979
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
cmp edx, dword [esp + 0x50]
jb 0x100699c1
ja 0x1006998f
mov ebp, dword [esp + 0x4c]
cmp dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x30]
jb 0x100699c1
mov ebp, dword [esp + 0x4c]
cmp dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x30]
jne 0x10069a68
cmp edx, dword [esp + 0x50]
jne 0x10069a68
cmp eax, dword [esp + 0x48]
ja 0x10069a68
jb 0x100699c1
cmp ecx, dword [esp + 0x44]
ja 0x10069a68
mov eax, dword [esp + 0x20]
push 0
push ecx
push 0
mov esi, dword [eax + 0x10078648]
push esi
call fcn.100467e0
mov ebx, eax
mov edi, edx
mov eax, esi
mul dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
movups xmm0, xmmword [eax + 0x10078648]
mov eax, dword [esp + 0x1c]
psrldq xmm0, 4
movd esi, xmm0
mul esi
add ecx, eax
mov eax, 0x18e
add ecx, edi
xor edi, edi
add edi, ebx
adc ecx, 0
sub eax, dword [esp + 0x2c]
xor esi, esi
cdq
cmp ecx, 0x200000
ja 0x10069a45
jb 0x10069a27
test edi, edi
jae 0x10069a45
shld esi, ebp, 0xa
shl ebp, 0xa
lea edx, [eax + ebp]
xor eax, eax
shl edx, 0x15
add eax, edi
pop edi
pop esi
pop ebp
adc edx, ecx
pop ebx
add esp, 0x84
ret
shld esi, ebp, 0xc
lea edx, [eax + 0xbfc]
xor eax, eax
shl ebp, 0xc
add edx, ebp
shl edx, 0x13
add eax, edi
pop edi
pop esi
pop ebp
adc edx, ecx
pop ebx
add esp, 0x84
ret
mov eax, esi
shl eax, 4
add eax, 0x10167d98
movups xmm0, xmmword [eax]
mov eax, dword [esi*4 + 0x1016dd0c]
mov dword [esp + 0x10], eax
movups xmmword [esp + 0x34], xmm0
psrldq xmm0, 0xc
movd edx, xmm0
cmp ebx, edx
jb 0x10069ab4
mov ecx, dword [esp + 0x3c]
ja 0x10069a9c
cmp edi, ecx
jb 0x10069ab4
cmp edi, ecx
jne 0x10069aa4
cmp ebx, edx
je 0x10069ab4
shl esi, 5
add esi, 0x1018e890
inc eax
mov dword [esp + 0x10], eax
jmp 0x10069abd
shl esi, 5
add esi, 0x1017a2f0
movups xmm0, xmmword [esi]
push 0
push ebx
movups xmmword [esp + 0x7c], xmm0
mov ebp, dword [esp + 0x80]
movups xmm0, xmmword [esi + 0x10]
mov esi, dword [esp + 0x7c]
push 0
push esi
movups xmmword [esp + 0x94], xmm0
call fcn.100467e0
push 0
push dword [esp + 0x18]
mov ebx, eax
mov edi, edx
push 0
push esi
call fcn.100467e0
push 0
push dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov esi, edx
push 0
push ebp
call fcn.100467e0
push 0
push dword [esp + 0x18]
add eax, edi
push 0
adc edx, 0
mov dword [esp + 0x74], eax
push ebp
mov dword [esp + 0x64], edx
call fcn.100467e0
add eax, esi
mov ecx, edx
mov esi, dword [esp + 0x7c]
adc ecx, 0
add eax, ebx
mov ebx, dword [esp + 0x24]
push 0
push ebx
push 0
adc ecx, 0
mov dword [esp + 0x40], eax
push esi
mov dword [esp + 0x6c], ecx
call fcn.100467e0
push 0
push dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov edi, edx
push 0
push esi
call fcn.100467e0
push 0
push ebx
push 0
push dword [esp + 0x8c]
mov dword [esp + 0x38], eax
mov ebp, edx
call fcn.100467e0
push 0
push dword [esp + 0x18]
mov esi, eax
mov ebx, edx
push 0
push dword [esp + 0x8c]
add esi, edi
adc ebx, 0
call fcn.100467e0
add eax, ebp
mov ecx, edx
adc ecx, 0
add eax, dword [esp + 0x2c]
adc ecx, 0
add ecx, esi
mov dword [esp + 0x44], ecx
mov ecx, 0
adc ecx, ebx
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x24]
xor ecx, ecx
add ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x84]
push 0
push ebx
push 0
adc eax, 0
mov dword [esp + 0x6c], ecx
push esi
mov dword [esp + 0x74], eax
call fcn.100467e0
push 0
push dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov edi, edx
push 0
push esi
call fcn.100467e0
push 0
push ebx
push 0
push dword [esp + 0x94]
mov dword [esp + 0x38], eax
mov ebp, edx
call fcn.100467e0
push 0
push dword [esp + 0x18]
mov esi, eax
mov ebx, edx
push 0
push dword [esp + 0x94]
add esi, edi
adc ebx, 0
call fcn.100467e0
mov ecx, eax
mov eax, edx
add ecx, ebp
push 0
adc eax, 0
add ecx, dword [esp + 0x30]
adc eax, 0
add eax, esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0x38], eax
mov eax, 0
adc eax, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
xor eax, eax
add eax, dword [esp + 0x2c]
push ebx
push 0
adc ecx, 0
mov dword [esp + 0x78], eax
push esi
mov dword [esp + 0x80], ecx
call fcn.100467e0
push 0
push dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov edi, edx
push 0
push esi
call fcn.100467e0
push 0
push ebx
push 0
push dword [esp + 0x9c]
mov dword [esp + 0x30], eax
mov ebp, edx
call fcn.100467e0
push 0
push dword [esp + 0x18]
mov esi, eax
mov ebx, edx
push 0
push dword [esp + 0x9c]
add esi, edi
adc ebx, 0
call fcn.100467e0
mov edi, eax
mov dword [esp + 0x2c], edx
add edi, ebp
mov ebp, edx
mov edx, dword [esp + 0x5c]
adc ebp, 0
add edi, dword [esp + 0x28]
adc ebp, 0
xor eax, eax
add ebp, esi
adc eax, ebx
mov ebx, dword [esp + 0x60]
xor esi, esi
mov dword [esp + 0x14], eax
add esi, dword [esp + 0x20]
adc edi, 0
xor eax, eax
add edx, ebx
adc eax, dword [esp + 0x64]
add edx, dword [esp + 0x68]
adc eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x64]
ja 0x10069d0c
jb 0x10069d03
cmp edx, ebx
jae 0x10069d0c
mov eax, 1
xor edx, edx
jmp 0x10069d1d
xorps xmm0, xmm0
movlpd qword [esp + 0x54], xmm0
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x44]
add ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
adc eax, edx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x18]
add ebx, ecx
adc edx, eax
mov dword [esp + 0x18], edx
cmp edx, eax
jb 0x10069d6c
ja 0x10069d4b
cmp ebx, ecx
jb 0x10069d6c
cmp eax, dword [esp + 0x20]
jb 0x10069d6c
ja 0x10069d59
cmp ecx, dword [esp + 0x24]
jb 0x10069d6c
xorps xmm0, xmm0
movlpd qword [esp + 0x44], xmm0
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x10069d73
mov eax, 1
xor ecx, ecx
mov edx, dword [esp + 0x34]
add esi, eax
mov dword [esp + 0x20], eax
adc edi, ecx
add edx, esi
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
adc edi, eax
mov dword [esp + 0x1c], edi
cmp edi, eax
jb 0x10069dbc
ja 0x10069d9d
cmp edx, esi
jb 0x10069dbc
cmp eax, ecx
jb 0x10069dbc
ja 0x10069da9
cmp esi, dword [esp + 0x20]
jb 0x10069dbc
xorps xmm0, xmm0
movlpd qword [esp + 0x34], xmm0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
jmp 0x10069dc3
mov ecx, 1
xor eax, eax
mov esi, dword [esp + 0x30]
add ebp, ecx
adc dword [esp + 0x14], eax
mov eax, dword [esp + 0xa0]
lea ecx, [esi + eax*2]
mov eax, ebp
and eax, 1
lea eax, [eax + ecx*2]
shl eax, 4
cmp dword [eax + 0x10078514], edi
jb 0x10069e2c
ja 0x10069df4
cmp dword [eax + 0x10078510], edx
jb 0x10069e2c
mov edi, ebp
mov ecx, dword [esp + 0x14]
cmp dword [eax + 0x10078510], edx
jne 0x10069e59
mov esi, dword [eax + 0x10078514]
cmp esi, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
jne 0x10069e59
mov esi, dword [esp + 0x18]
cmp dword [eax + 0x1007850c], esi
mov esi, dword [esp + 0x30]
ja 0x10069e59
jb 0x10069e2c
cmp dword [eax + 0x10078508], ebx
jae 0x10069e59
mov ecx, dword [esp + 0x14]
mov edi, ebp
add edi, 1
adc ecx, 0
cmp edi, 0x6fc10000
jne 0x10069e59
mov eax, dword [esp + 0x10]
cmp ecx, 0x2386f2
jne 0x10069e5d
mov edi, 0xa4c68000
mov ecx, 0x38d7e
inc eax
jmp 0x10069e5d
mov eax, dword [esp + 0x10]
or edx, dword [esp + 0x1c]
jne 0x10069e69
or ebx, dword [esp + 0x18]
je 0x10069e73
mov edx, dword [esp + 0xa4]
or dword [edx], 0x20
cdq
mov ebx, eax
cmp ecx, 0x200000
ja 0x10069ea4
jb 0x10069e84
test edi, edi
jae 0x10069ea4
xor eax, eax
shld eax, esi, 0xa
xor eax, eax
shl esi, 0xa
lea edx, [ebx + esi]
shl edx, 0x15
add eax, edi
pop edi
pop esi
pop ebp
adc edx, ecx
pop ebx
add esp, 0x84
ret
xor eax, eax
shld eax, esi, 0xc
xor eax, eax
shl esi, 0xc
lea edx, [esi + 0xbfc]
add edx, ebx
shl edx, 0x13
add eax, edi
pop edi
pop esi
pop ebp
adc edx, ecx
pop ebx
add esp, 0x84
ret