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

Disassembly:
sub esp, 0xa0
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x9c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xe8]
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xec]
mov ebp, dword [esp + 0xbc]
lea ecx, [ebx + 0xe0]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x50], eax
movzx eax, byte [ebp + 0x109f2cd0]
shl eax, 4
add eax, 0x7920
mov dword [esp + 0x30], edx
add eax, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xcc]
lea edx, [eax + 0x3abf0]
mov dword [esp + 0x2c], edx
movzx edx, byte [ebp + 0x109f2ca0]
mov dword [esp + 0x18], edx
mov dl, byte [eax + 0x3ee46]
or byte [esi + 0xa0], 4
cmp dword [eax + 0x5cee8], 0
mov byte [esp + 0x13], dl
mov edx, dword [esp + 0x30]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x7c], ecx
jne 0x1046917b
mov edx, dword [esp + 0x38]
lea edi, [ebx + 0xe0]
xor eax, eax
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x70], eax
xor ecx, ecx
or eax, 0xffffffff
mov dword [esp + 0x74], ecx
mov dword [esp + 0x68], eax
mov ecx, edx
mov eax, closesocket
shr ecx, 1
mov dword [esp + 0x6c], eax
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x1008]
test byte [eax + 0x8c], 8
cmovne edx, ecx
xor al, al
mov ecx, ebp
mov dword [esp + 0x7c], edx
shl ecx, 4
lea edx, [esi + 0x44]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x4c]
mov byte [esp + 0x13], al
mov dword [esp + 0x64], ecx
nop word [eax + eax]
push dword [esp + 0x18]
mov byte [edx], al
push dword [esp + 0x80]
push dword [esp + 0x2c]
push 0
push ebp
push edi
push dword [esp + 0x44]
call fcn.100c49b0
push dword [esp + 0x30]
push dword [esp + 0x58]
push ebp
push ebx
push dword [esp + 0x4c]
call fcn.1046a1b0
mov ecx, dword [esp + 0x84]
add esp, 0x30
mov dword [esp + 0x5c], eax
movsx eax, byte [esi + 0x45]
add ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], edx
mov eax, dword [ebx + ecx*4 + 0x72d0]
mov ecx, dword [esp + 0x64]
add eax, dword [ecx]
imul dword [ebx + 0x31cc]
add eax, 0x100
adc edx, 0
shrd eax, edx, 9
sar edx, 9
add eax, dword [esp + 0x5c]
adc edx, dword [esp + 0x60]
cmp edx, dword [esp + 0x30]
jg 0x10469111
jl 0x104690e5
cmp eax, dword [esp + 0x34]
jae 0x10469111
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x30], edx
lea edx, [esi + 0x44]
mov dword [esp + 0x6c], eax
movzx eax, byte [edx]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x74], eax
jmp 0x10469114
lea edx, [esi + 0x44]
mov al, byte [esp + 0x13]
add ecx, 4
inc al
mov dword [esp + 0x64], ecx
mov byte [esp + 0x13], al
cmp al, 4
jb 0x10469060
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
mov dword [edi], eax
mov eax, dword [esp + 0x6c]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x70]
mov byte [edx], al
mov byte [esi + 0x45], cl
cmp eax, 3
je 0x104692b2
push dword [esp + 0x18]
lea eax, [ebx + 0xe0]
push dword [esp + 0x20]
push dword [esp + 0x2c]
push 0
push ebp
push eax
push dword [esp + 0x44]
call fcn.100c49b0
add esp, 0x1c
jmp 0x104692af
cmp byte [esp + 0x13], 0
lea edi, [esi + 0x44]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x44]
jne 0x10469297
push dword [esp + 0x18]
mov al, byte [edx]
push dword [esp + 0x20]
push dword [esp + 0x2c]
push 0
push ebp
push ecx
push dword [esp + 0x44]
cmp al, 4
jne 0x10469271
mov eax, dword [esp + 0x44]
mov byte [eax], 3
mov byte [edx], 3
call fcn.100c49b0
push dword [esp + 0x30]
push dword [esp + 0x58]
push ebp
push ebx
push dword [esp + 0x4c]
call fcn.1046a1b0
mov esi, dword [esp + 0x64]
add esp, 0x30
xor bl, bl
mov dword [edi], eax
mov dword [edi + 4], edx
mov byte [esp + 0x44], bl
push ebp
push dword [esp + 0x48]
lea eax, [esi + 0xe0]
push edi
push dword [esp + 0x3c]
push dword [esp + 0x88]
push dword [esp + 0x30]
push dword [esp + 0x3c]
push dword [esp + 0x68]
push esi
push eax
push dword [esp + 0x64]
push dword [esp + 0x4c]
call fcn.10468520
inc bl
add esp, 0x30
mov byte [esp + 0x44], bl
cmp bl, 4
jb 0x104691e3
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x30]
movsx edx, byte [esi + 0x14]
mov ecx, dword [ecx + 0x54]
movzx eax, byte [ebx]
mov byte [edx + ecx], al
lea edx, [esi + 0x44]
movzx eax, byte [ebx]
mov byte [edx], al
cmp byte [ebx], 3
je 0x10469291
push dword [esp + 0x18]
push dword [esp + 0x20]
push dword [esp + 0x2c]
push 0
push ebp
push dword [esp + 0x90]
push dword [esp + 0x44]
call fcn.100c49b0
mov ebx, dword [esp + 0x50]
add esp, 0x1c
jmp 0x104692af
mov byte [esi + 0x44], al
call fcn.100c49b0
push dword [esp + 0x30]
push dword [esp + 0x58]
push ebp
push ebx
push dword [esp + 0x4c]
call fcn.1046a1b0
add esp, 0x30
jmp 0x104692aa
mov ebx, dword [esp + 0x34]
jmp 0x104692b2
push dword [esp + 0x14]
push dword [esp + 0x3c]
push ebp
push ebx
push eax
call fcn.1046a1b0
add esp, 0x14
mov dword [edi + 4], edx
mov dword [edi], eax
lea edx, [esi + 0x44]
movsx ecx, byte [esi + 0x45]
mov eax, ebp
shl eax, 4
add ecx, eax
mov dword [esp + 0x28], eax
movzx eax, byte [edx]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], 0xffffffff
mov ecx, dword [ebx + ecx*4 + 0x72d0]
add ecx, dword [edx + eax*4]
add ecx, dword [ebx + ebp*8 + 0x7874]
mov eax, dword [esp + 0x48]
mov dword [eax], ecx
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
add eax, ecx
imul dword [ebx + 0x31cc]
add eax, 0x100
adc edx, 0
shrd eax, edx, 9
sar edx, 9
add dword [edi], eax
mov eax, dword [esp + 0x3c]
adc dword [edi + 4], edx
mov edx, closesocket
mov esi, dword [esi + 0xc]
mov cl, byte [eax + 5]
cmp cl, 0x10
je 0x1046933d
cmp cl, 0x18
je 0x1046933d
cmp cl, 0x13
je 0x1046933d
cmp cl, 0x14
je 0x1046933d
cmp cl, 0x15
je 0x1046933d
cmp cl, 0x16
jne 0x10469450
movsx ecx, byte [eax + 0x45]
mov eax, dword [esp + 0x28]
push 0
push dword [esp + 0x44]
push dword [esp + 0x20]
mov eax, dword [eax + 0x10670d9c]
push dword [eax + ecx*4 + 0x40]
push dword [esp + 0x2c]
push dword [esp + 0x64]
push ebp
push ebx
push dword [esp + 0x40]
call fcn.10460c20
mov eax, dword [esp + 0x74]
add esp, 0x24
mov ecx, dword [eax]
mov eax, dword [esp + 0x3c]
cmp dword [eax + 0xc], ecx
je 0x1046944b
push 0
push 0
push ebp
push dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov byte [eax + 0x15], 0xff
lea eax, [ebx + 0xe0]
push dword [eax + 4]
push dword [eax]
push eax
push dword [esp + 0x48]
call fcn.101152f0
push dword [esp + 0x38]
mov eax, dword [esp + 0x60]
push dword [esp + 0x40]
mov byte [eax + 0x15], 0
lea eax, [ebx + 0xe0]
push dword [eax + 0x2c]
push dword [eax + 0x1c]
push 0
push ebp
push eax
call fcn.100c4ad0
push 0
push 0
push 0
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x5f]
push eax
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x7c]
push eax
push 0
push 0
lea eax, [ebx + 0xe0]
push eax
push ebx
push ebp
push dword [esp + 0x8c]
call fcn.10465ee0
mov eax, dword [esp + 0xb8]
add esp, 0x70
mov ecx, dword [esp + 0x40]
mov eax, dword [eax]
add eax, dword [esp + 0x28]
add eax, dword [ecx]
imul dword [ebx + 0x31cc]
mov ecx, dword [esp + 0x58]
add eax, 0x100
adc edx, 0
shrd eax, edx, 9
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x54]
shld ecx, eax, 7
sar edx, 9
shl eax, 7
add dword [esp + 0x14], eax
adc edx, ecx
jmp 0x10469450
mov edx, closesocket
cmp edx, dword [edi + 4]
jl 0x10469497
jg 0x1046945f
mov eax, dword [esp + 0x14]
cmp eax, dword [edi]
jb 0x10469497
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
mov dword [eax], esi
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
push eax
push dword [esp + 0x20]
push eax
push dword [esp + 0x84]
lea eax, [ebx + 0xe0]
push 0
push ebp
push eax
call fcn.100c4ad0
add esp, 0x1c
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov eax, dword [eax]
add eax, dword [ecx]
imul dword [ebx + 0x31cc]
mov ecx, dword [esp + 0xf4]
add eax, 0x100
adc edx, 0
shrd eax, edx, 9
sar edx, 9
sub ecx, eax
mov eax, dword [esp + 0xf8]
sbb eax, edx
lea edx, [esp + 0x84]
push edx
push eax
push ecx
push ebx
push ebp
push dword [esp + 0x34]
call fcn.104687b0
mov esi, eax
add esp, 0x18
cmp esi, 0xffffffff
jne 0x104694fe
cmp edx, 0x7fffffff
jne 0x104694fe
cmp dword [edi], eax
jne 0x10469542
cmp dword [edi + 4], edx
jne 0x10469542
or eax, eax
jmp 0x10469549
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov eax, dword [eax]
add eax, dword [esp + 0x84]
add eax, dword [ecx]
imul dword [ebx + 0x31cc]
mov ecx, dword [esp + 0x90]
mov esi, eax
mov eax, dword [esp + 0x8c]
add esi, 0x100
adc edx, 0
shld ecx, eax, 7
shrd esi, edx, 9
shl eax, 7
sar edx, 9
add esi, eax
adc edx, ecx
mov dword [edi], esi
xor eax, eax
mov dword [edi + 4], edx
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0xa0
ret