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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2c0
mov esi, esp
mov dword [esi + 0x2a8], ebp
mov dword [esi + 0x2ac], esp
mov dword [esi + 0x2b8], 0xffffffff
mov dword [esi + 0x2b4], 0x1009fa60
mov dword [esi + 0x1c], ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea ebx, [esi + 0x2b0]
mov dword [esi + 0x118], edx
mov ecx, dword fs:[0]
mov dword [esi + 0x2b0], ecx
mov dword fs:[0], ebx
mov dword [esi + 0x178], edi
mov dword [esi + 0x17c], eax
mov eax, dword [edx + 0x58]
mov edi, dword [eax + 0x10]
mov dword [esi + 0x38], eax
cmp edi, 0x3b9aca00
jne 0x1009e1ef
mov ecx, dword [edx + 0x48]
mov dword [esi + 0x174], ecx
mov ecx, dword [edx + 0x4c]
mov dword [esi + 0x170], ecx
mov ecx, dword [edx + 0x50]
cmp byte [eax + 0x78], 4
mov dword [esi + 0x2c], ecx
je 0x1009e236
mov eax, dword [esi + 0x38]
lea ecx, [esi + 0x198]
add eax, 0x50
push eax
push ecx
call fcn.10178120
mov eax, dword [esi + 0x38]
add esp, 8
mov ecx, dword [eax + 0x5c]
xor ebx, ebx
cmp dword [eax + 0x60], 0
mov dword [esi + 0x10], ecx
je 0x1009e2b6
add eax, 0x60
mov dword [esi + 0x2b8], 0
lea ecx, [esi + 0x78]
push eax
push ecx
call fcn.10178120
add esp, 8
mov eax, dword [esi + 0x78]
movsd xmm1, qword [esi + 0x7c]
xor ebx, ebx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x38]
cmp dword [eax + 0x6c], 0
je 0x1009e2c7
add eax, 0x6c
movaps xmmword [esi + 0x50], xmm1
mov dword [esi + 0x2b8], 1
lea ecx, [esi + 0x78]
push eax
push ecx
call fcn.10178120
add esp, 8
mov ebx, dword [esi + 0x78]
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x80]
movaps xmm1, xmmword [esi + 0x50]
jmp 0x1009e2c7
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov dword [esi + 0x10], ecx
call fcn.10164da0
mov dword [esi + 0x78], eax
lea eax, [esi + 0x78]
mov dword [esi + 0x7c], edx
mov dword [esi + 0x80], ecx
push edi
push ebx
push dword [esi + 0x10]
push eax
call fcn.101650d0
add esp, 0x10
mov dword [esi + 0x174], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x170], edx
cmp byte [eax + 0x78], 4
mov dword [esi + 0x2c], ecx
jne 0x1009e15d
lea eax, [esi + 0x178]
mov dword [esi + 0x78], 0x101b5ad8
mov dword [esi + 0x7c], 2
mov dword [esi + 0x88], 0
mov byte [esi + 0x168], 4
mov dword [esi + 0x2b8], 2
lea ecx, [esi + 0x228]
mov dword [esi + 0x198], eax
lea eax, [ebp + 0x10]
mov dword [esi + 0x19c], 0x1005fe90
mov dword [esi + 0x1a0], eax
lea eax, [esi + 0x198]
mov dword [esi + 0x1a4], fcn.10186590
mov dword [esi + 0x80], eax
lea eax, [esi + 0x78]
mov dword [esi + 0x84], 2
push eax
push ecx
call fcn.101773a0
add esp, 8
jmp 0x1009e392
mov dword [esi + 0x18], 0
cmp dword [eax + 0x6c], 0
jne 0x1009e1bc
mov edx, dword [esi + 0x38]
mov edi, dword [esi + 0x1a0]
movq xmm0, qword [esi + 0x198]
movzx edx, byte [edx + 0x78]
mov dword [esi + 0x148], edi
mov edi, dword [esi + 0x18]
movq qword [esi + 0x140], xmm0
mov dword [esi + 0x78], 0x101b5ad8
mov dword [esi + 0x7c], 2
mov dword [esi + 0x88], 0
mov dword [esi + 0x2b8], 2
mov dword [esi + 0x150], edi
mov edi, dword [esi + 0x10]
movlps qword [esi + 0x154], xmm1
mov dword [esi + 0x14c], edi
mov dword [esi + 0x15c], ebx
mov dword [esi + 0x160], eax
lea eax, [esi + 0x140]
mov dword [esi + 0x164], ecx
mov byte [esi + 0x168], dl
lea ecx, [esi + 0x228]
mov dword [esi + 0x198], eax
lea eax, [esi + 0x14c]
mov dword [esi + 0x19c], 0x100150f0
mov dword [esi + 0x1a0], eax
lea eax, [esi + 0x198]
mov dword [esi + 0x1a4], fcn.10186780
mov dword [esi + 0x80], eax
lea eax, [esi + 0x78]
mov dword [esi + 0x84], 2
push eax
push ecx
call fcn.101773a0
add esp, 8
mov eax, dword [esi + 0x230]
movq xmm0, qword [esi + 0x228]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0x118]
movq qword [esi + 0x108], xmm0
mov eax, dword [eax + 0x5c]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lock inc dword [ecx]
jle 0x1009f4b7
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], eax
mov edi, dword [esi + 0x110]
lea ebx, [esi + 0x120]
mov edx, dword [eax + 8]
mov dword [esi + 0x2b8], 0x13
dec edx
and edx, 0xfffffff8
lea ecx, [edx + ecx + 8]
mov edx, dword [esi + 0x108]
push edi
push edx
push ecx
push ebx
call dword [eax + 0x10]
add esp, 0x10
mov eax, dword [esi + 0x120]
mov edi, dword [esi + 0x2c]
test eax, eax
je 0x1009e42d
mov ecx, dword [esi + 0x124]
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x128]
mov eax, dword [esi + 0x70]
lock dec dword [eax]
je 0x1009e552
jmp 0x1009e575
mov eax, dword [esi + 0x124]
mov ecx, dword [esi + 0x128]
mov dword [esi + 0x78], 0x101b5bb8
mov dword [esi + 0x7c], 2
mov dword [esi + 0x88], 0
mov byte [esi + 0x2b], 1
mov dword [esi + 0x2b8], 0x14
mov dword [esi + 0x10], eax
mov dword [esi + 0x44], eax
lea eax, [esi + 0x108]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x48], ecx
lea ecx, [esi + 0x198]
mov dword [esi + 0x20], eax
lea eax, [esi + 0x20]
mov dword [esi + 0x24], 0x100150f0
mov dword [esi + 0x80], eax
lea eax, [esi + 0x78]
mov dword [esi + 0x84], 1
push eax
push ecx
call fcn.101773a0
add esp, 8
mov eax, dword [esi + 0x1a0]
movq xmm0, qword [esi + 0x198]
mov byte [esi + 0x2b], 0
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0x18]
movq qword [esi + 0xc4], xmm0
mov dword [esi + 0x7c], 2
mov dword [esi + 0xd0], 0
mov byte [esi + 0xd8], 2
mov dword [esi + 0x78], 2
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x20], eax
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x198]
push eax
call fcn.100a5c50
add esp, 0xc
mov eax, dword [esi + 0x19c]
mov edi, dword [esi + 0x198]
mov ebx, dword [esi + 0x1a4]
lea ecx, [esi + 0x228]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x1a0]
mov dword [esi + 0x30], eax
lea eax, [esi + 0x1a8]
push 0x80
push eax
push ecx
call fcn.10193640
add esp, 0xc
cmp edi, 3
jne 0x1009ebed
mov edi, dword [esi + 0x2c]
mov ecx, ebx
mov eax, dword [esi + 0x70]
lock dec dword [eax]
jne 0x1009e575
lea eax, [esi + 0x70]
mov byte [esi + 0xf], 1
mov dword [esi + 0x2b8], 4
push eax
mov dword [esi + 0x3c], ecx
call fcn.1001ced0
mov ecx, dword [esi + 0x3c]
mov edi, dword [esi + 0x2c]
add esp, 4
test ecx, ecx
je 0x1009eb26
mov edx, dword [esi + 0x34]
movzx eax, byte [esi + 0x168]
shl ecx, 5
mov byte [esi + 0x44], 4
mov dword [esi + 0x70], 0xffffffff
mov byte [esi + 0x10], 4
add ecx, edx
mov edx, edx
mov byte [esi + 0x2a], al
mov dword [esi + 0x3c], ecx
jmp 0x1009e5bc
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x2c]
mov ecx, dword [esi + 0x3c]
add edx, 0x20
mov ebx, 0xffffffff
cmp edx, ecx
je 0x1009e9ee
movsd xmm0, qword [edx + 0x18]
movzx eax, word [edx]
movsd qword [esi + 0x136], xmm0
cmp ax, 2
movsd xmm0, qword [edx + 0x12]
movsd qword [esi + 0x130], xmm0
movsd xmm0, qword [edx + 0xa]
movsd qword [esi + 0x128], xmm0
movsd xmm0, qword [edx + 2]
movsd qword [esi + 0x120], xmm0
je 0x1009e9ee
movq xmm0, qword [esi + 0x136]
movsd xmm1, qword [esi + 0x130]
mov word [esi + 0x228], ax
lea eax, [esi + 0x22a]
movsd xmm2, qword [esi + 0x120]
cmp edi, 0x3b9aca00
mov dword [esi + 0x18], edx
movq qword [eax + 0x16], xmm0
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esi + 0x128]
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
jne 0x1009e6b0
test byte [esi + 0x2a], 3
jne 0x1009e6fb
movzx eax, byte [esi + 0x10]
mov dword [esi + 0x2b8], 0xc
mov byte [esi + 0xe], al
lea eax, [esi + 0x228]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.100b0330
add esp, 8
cmp byte [esi + 0x78], 4
jne 0x1009e9d3
mov eax, dword [esi + 0x7c]
mov bl, 4
mov dword [esi + 0x24], eax
mov byte [esi + 0x20], 4
cmp bl, 4
jne 0x1009e949
jmp 0x1009e9e8
movzx eax, byte [esi + 0x10]
mov edx, dword [esi + 0x174]
mov dword [esi + 0x2b8], 0xc
lea ecx, [esi + 0x78]
mov byte [esi + 0xe], al
push edi
push dword [esi + 0x170]
call fcn.1009d820
add esp, 8
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
cmp edx, 0x3b9aca00
je 0x1009ee9d
test byte [esi + 0x2a], 3
je 0x1009e918
cmp byte [esi + 0x168], 4
mov dword [esi + 0x2b8], 0xc
je 0x1009f49a
movzx eax, byte [esi + 0x10]
mov byte [esi + 0xe], al
lea eax, [esi + 0x140]
push eax
lea eax, [esi + 0x198]
push eax
call fcn.10178120
add esp, 8
mov eax, dword [esi + 0x14c]
xor edx, edx
cmp dword [esi + 0x150], 0
mov edi, 0
mov dword [esi + 0x40], eax
je 0x1009e777
lea eax, [esi + 0x150]
mov dword [esi + 0x2b8], 0x10
push eax
lea eax, [esi + 0x78]
push eax
call fcn.10178120
add esp, 8
movq xmm0, qword [esi + 0x7c]
mov edi, dword [esi + 0x78]
xor edx, edx
movdqa xmmword [esi + 0x180], xmm0
cmp dword [esi + 0x15c], 0
mov dword [esi + 0x50], edi
je 0x1009e7af
lea eax, [esi + 0x15c]
mov dword [esi + 0x2b8], 0x11
push eax
lea eax, [esi + 0x78]
push eax
call fcn.10178120
add esp, 8
mov edx, dword [esi + 0x78]
mov ebx, dword [esi + 0x7c]
mov eax, dword [esi + 0x80]
mov edi, dword [esi + 0x50]
mov ecx, dword [esi + 0x1a0]
movsd xmm0, qword [esi + 0x198]
mov dword [esi + 0x6c], ebx
movsd qword [esi + 0x78], xmm0
mov dword [esi + 0x80], ecx
mov dword [esi + 0x88], edi
movdqa xmm0, xmmword [esi + 0x180]
mov edi, dword [esi + 0x40]
mov dword [esi + 0x40], edx
movq qword [esi + 0x8c], xmm0
mov dword [esi + 0x84], edi
mov dword [esi + 0x94], edx
mov dword [esi + 0x9c], eax
movzx eax, byte [esi + 0x168]
mov dword [esi + 0x98], ebx
mov byte [esi + 0xa0], al
push 1
push 0x17
call fcn.100985b0
add esp, 8
test eax, eax
je 0x1009f47f
mov edi, eax
mov dword [eax + 0x13], 0x2e64656c
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], 0x17
mov dword [eax + 0x10], 0x6c626173
mov dword [eax + 0xc], 0x69642065
mov dword [eax + 8], 0x72757461
mov dword [eax + 4], 0x65662053
mov dword [eax], 0x4b434f53
mov dword [esi + 0x1a0], 0x17
push 4
push 0xc
call fcn.100985b0
add esp, 8
test eax, eax
je 0x1009f464
mov dword [eax], edi
mov dword [eax + 4], 0x17
mov dword [eax + 8], 0x17
mov dword [esi + 0x2b8], 0xe
push 0x101b5780
push eax
push 0x27
lea eax, [esi + 0x198]
push eax
call fcn.1015fcc0
add esp, 0x10
mov eax, dword [esi + 0x19c]
mov ebx, dword [esi + 0x198]
mov edi, dword [esi + 0x50]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x20], ebx
test eax, eax
je 0x1009e8d4
push 1
push eax
push dword [esi + 0x78]
call fcn.100985c0
add esp, 0xc
test edi, edi
je 0x1009e8f4
movdqa xmm0, xmmword [esi + 0x180]
movd eax, xmm0
test eax, eax
je 0x1009e8f4
push 1
push eax
push edi
call fcn.100985c0
add esp, 0xc
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x6c]
test eax, eax
je 0x1009e940
test ecx, ecx
je 0x1009e940
push 1
push ecx
push eax
call fcn.100985c0
add esp, 0xc
cmp bl, 4
jne 0x1009e949
jmp 0x1009e9e8
movzx ebx, byte [esi + 0x10]
mov byte [esi + 0xe], bl
push edx
push ecx
push eax
lea eax, [esi + 0x228]
push eax
lea eax, [esi + 0x20]
push eax
call fcn.10161b90
add esp, 0x14
movzx ebx, byte [esi + 0x20]
nop dword [eax]
cmp bl, 4
je 0x1009e9e8
mov edx, dword [esi + 0x20]
cmp byte [esi + 0x10], 3
mov ecx, dword [esi + 0x24]
mov eax, edx
mov byte [esi + 0x10], dl
jne 0x1009e9a9
mov dword [esi + 0x50], ecx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x40], edx
mov eax, dword [ecx]
mov dword [esi + 0x6c], ecx
mov ecx, dword [ecx + 4]
mov dword [esi + 0x2b8], 0xd
push eax
call dword [ecx]
add esp, 4
mov edi, dword [esi + 0x6c]
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x1009e996
push dword [ecx + 8]
push eax
push dword [edi]
call fcn.100985c0
add esp, 0xc
push 4
push 0xc
push edi
call fcn.100985c0
add esp, 0xc
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x40]
cmp byte [esi + 0x10], 4
mov dword [esi + 0x44], edx
mov dword [esi + 0x48], ecx
jne 0x1009e5b0
mov byte [esi + 0xe], 4
mov dword [esi + 0x2b8], 0xc
push ecx
call dword [sym.imp.ws2_32.dll_closesocket]
jmp 0x1009e5b0
mov ebx, dword [esi + 0x78]
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ebx
cmp bl, 4
jne 0x1009e949
mov ebx, dword [esi + 0x24]
mov dword [esi + 0x70], ebx
cmp dword [esi + 0x30], 0
je 0x1009ea08
mov eax, dword [esi + 0x30]
shl eax, 5
push 4
push eax
push dword [esi + 0x34]
call fcn.100985c0
add esp, 0xc
cmp ebx, 0xffffffff
je 0x1009ec46
mov eax, dword [esi + 0x38]
mov dword [esi + 0x20], ebx
mov dword [esi + 0x18], ebx
movzx eax, byte [eax + 0x8d]
mov dword [esi + 0x2b8], 7
push eax
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.10161ec0
add esp, 0xc
movzx eax, byte [esi + 0x78]
mov ecx, dword [esi + 0x118]
cmp al, 4
jne 0x1009ed16
mov eax, dword [ecx + 0x50]
cmp eax, 0x3b9aca00
jne 0x1009ef24
mov eax, dword [esi + 0x38]
push dword [eax + 0x20]
push dword [eax + 0x1c]
push dword [eax + 0x18]
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.10161ca0
add esp, 0x14
movzx eax, byte [esi + 0x78]
cmp al, 4
jne 0x1009efaf
mov eax, dword [esi + 0x38]
push dword [eax + 0x30]
push dword [eax + 0x2c]
push dword [eax + 0x28]
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.10161d80
add esp, 0x14
movzx eax, byte [esi + 0x78]
cmp al, 4
jne 0x1009f090
movzx ecx, byte [esi + 0x2a]
lea eax, [esi + 0x198]
cmp cl, 4
jne 0x1009f0fb
cmp byte [esi + 0x10], 4
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x1c]
mov dword [ecx + 4], eax
mov dword [ecx], 3
je 0x1009eaee
lea eax, [esi + 0x44]
mov byte [esi + 0xf], 0
mov dword [esi + 0x2b8], 4
push eax
call fcn.1000acc0
add esp, 4
mov eax, dword [esi + 0x10c]
test eax, eax
je 0x1009eb09
push 1
push eax
push dword [esi + 0x108]
call fcn.100985c0
add esp, 0xc
cmp byte [esi + 0x168], 4
je 0x1009ee89
lea ecx, [esi + 0x140]
call fcn.1009d150
jmp 0x1009ee89
lea eax, [esi + 0x178]
lea ecx, [esi + 0x78]
mov dword [esi + 0x78], 0x101b5b9c
mov dword [esi + 0x7c], 1
mov dword [esi + 0x88], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x2b8], 4
mov dword [esi + 0x228], eax
lea eax, [esi + 0x228]
mov dword [esi + 0x22c], 0x1005fe90
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], 1
lea eax, [esi + 0x198]
push ecx
push eax
call fcn.101773a0
add esp, 8
mov eax, dword [esi + 0x1a0]
mov edi, dword [esi + 0x1c]
movq xmm0, qword [esi + 0x198]
mov dword [esi + 0xc4], eax
lea eax, [edi + 8]
mov dword [edi], 2
movq qword [esi + 0xbc], xmm0
mov dword [edi + 4], 2
push 0x50
lea ecx, [esi + 0x78]
push ecx
push eax
call fcn.10193640
add esp, 0xc
mov eax, dword [esi + 0x30]
mov dword [edi + 0x58], 0
mov byte [edi + 0x60], 2
test eax, eax
je 0x1009ee0a
shl eax, 5
push 4
push eax
push dword [esi + 0x34]
jmp 0x1009ee02
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 0x1c]
lea eax, [ebx + 0x10]
push 0x80
lea ecx, [esi + 0x228]
push ecx
push eax
call fcn.10193640
add esp, 0xc
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x3c]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 0x70]
mov dword [ebx + 0xc], edx
mov dword [ebx], edi
lock dec dword [ecx]
jne 0x1009ee0a
lea eax, [esi + 0x70]
mov dword [esi + 0x2b8], 3
push eax
call fcn.1001ced0
add esp, 4
jmp 0x1009ee0a
cmp byte [esi + 0x10], 4
je 0x1009f4bb
mov ebx, dword [esi + 0x44]
mov edi, dword [esi + 0x48]
mov dword [esi + 0x124], edi
mov dword [esi + 0x120], ebx
push 1
push 0xd
call fcn.100985b0
add esp, 8
test eax, eax
mov dword [esi + 0x2b8], 0xb
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], ebx
je 0x1009f4ee
mov dword [esi + 0xc4], eax
mov byte [eax + 0xc], 0x72
mov dword [eax + 8], 0x6f727265
mov dword [eax + 4], 0x20746365
mov dword [eax], 0x6e6e6f43
lea eax, [esi + 0x228]
mov dword [esi + 0xc8], 0xd
mov dword [esi + 0xcc], 0xd
mov dword [esi + 0x7c], 2
mov dword [esi + 0xd0], 0
mov byte [esi + 0xd8], 4
mov dword [esi + 0x78], 2
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], ebx
push eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x198]
push eax
call fcn.100a5c50
add esp, 0xc
push 0x90
lea eax, [esi + 0x198]
push eax
push dword [esi + 0x1c]
call fcn.10193640
jmp 0x1009ee07
movzx edx, byte [esi + 0x7f]
movzx ecx, word [esi + 0x7d]
mov edi, dword [esi + 0x79]
movzx eax, al
mov dword [esi + 0xc4], 0
mov dword [esi + 0x7c], 2
mov dword [esi + 0xd0], 0
mov byte [esi + 0xd8], 8
mov dword [esi + 0x78], 2
shl edx, 0x10
or ecx, edx
shld ecx, edi, 8
shl edi, 8
or eax, edi
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
lea eax, [esi + 0x228]
push eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x198]
push eax
call fcn.100a5c50
add esp, 0xc
push 0x90
lea eax, [esi + 0x198]
push eax
push dword [esi + 0x1c]
call fcn.10193640
add esp, 0xc
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x20]
movzx ecx, byte [esi + 0x10]
mov dword [esi + 0x4c], edi
mov byte [esi + 0x16], 0
mov byte [esi + 0x17], 0
mov dword [esi + 0x2b8], 6
mov byte [esi + 0x15], cl
push eax
call dword [sym.imp.ws2_32.dll_closesocket]
cmp byte [esi + 0x10], 3
jne 0x1009ee0a
mov ecx, dword [esi + 0x48]
mov eax, dword [ecx]
mov dword [esi + 0x10], ecx
mov ecx, dword [ecx + 4]
mov dword [esi + 0x2b8], 0x12
push eax
call dword [ecx]
add esp, 4
mov edi, dword [esi + 0x10]
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x1009edfd
push dword [ecx + 8]
push eax
push dword [edi]
call fcn.100985c0
add esp, 0xc
push 4
push 0xc
push edi
call fcn.100985c0
add esp, 0xc
mov eax, dword [esi + 0x10c]
test eax, eax
je 0x1009ee25
push 1
push eax
push dword [esi + 0x108]
call fcn.100985c0
add esp, 0xc
cmp byte [esi + 0x168], 4
je 0x1009ee89
mov eax, dword [esi + 0x144]
test eax, eax
je 0x1009ee49
push 1
push eax
push dword [esi + 0x140]
call fcn.100985c0
add esp, 0xc
mov eax, dword [esi + 0x150]
test eax, eax
je 0x1009ee69
mov ecx, dword [esi + 0x154]
test ecx, ecx
je 0x1009ee69
push 1
push ecx
push eax
call fcn.100985c0
add esp, 0xc
mov eax, dword [esi + 0x15c]
test eax, eax
je 0x1009ee89
mov ecx, dword [esi + 0x160]
test ecx, ecx
je 0x1009ee89
push 1
push ecx
push eax
call fcn.100985c0
add esp, 0xc
mov eax, dword [esi + 0x2b0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x20], eax
movzx eax, byte [esi + 0x10]
mov dword [esi + 0xc4], 0
mov dword [esi + 0x7c], 2
mov dword [esi + 0xd0], 0
mov byte [esi + 0xd8], 8
mov dword [esi + 0x78], 2
mov dword [esi + 0x24], ecx
mov byte [esi + 0xe], al
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x198]
push eax
call fcn.100a5c50
add esp, 0xc
push 0x90
lea eax, [esi + 0x198]
push eax
push dword [esi + 0x1c]
call fcn.10193640
add esp, 0xc
cmp dword [esi + 0x30], 0
je 0x1009edc1
mov eax, dword [esi + 0x30]
shl eax, 5
push 4
push eax
push dword [esi + 0x34]
call fcn.100985c0
add esp, 0xc
jmp 0x1009edc1
mov edx, dword [ecx + 0x48]
mov edi, dword [ecx + 0x4c]
lea ecx, [esi + 0x78]
mov dword [esi + 0x50], eax
mov dword [esi + 0x180], edx
push eax
mov dword [esi + 0x2c], edi
push edi
call fcn.1009d820
add esp, 8
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
cmp edx, 0x3b9aca00
jne 0x1009f01f
mov dword [esi + 0x228], eax
lea eax, [esi + 0x228]
mov dword [esi + 0xc4], 0
mov dword [esi + 0x7c], 2
mov dword [esi + 0xd0], 0
mov byte [esi + 0xd8], 8
mov dword [esi + 0x78], 2
mov dword [esi + 0x22c], ecx
push eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x198]
push eax
call fcn.100a5c50
add esp, 0xc
jmp 0x1009ed81
movzx edx, byte [esi + 0x7f]
movzx ecx, word [esi + 0x7d]
mov edi, dword [esi + 0x79]
movzx eax, al
mov dword [esi + 0xc4], 0
mov dword [esi + 0x7c], 2
mov dword [esi + 0xd0], 0
mov byte [esi + 0xd8], 8
mov dword [esi + 0x78], 2
shl edx, 0x10
or ecx, edx
shld ecx, edi, 8
shl edi, 8
or eax, edi
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
lea eax, [esi + 0x228]
push eax
lea eax, [esi + 0x78]
push eax
lea eax, [esi + 0x198]
push eax
call fcn.100a5c50
add esp, 0xc
jmp 0x1009ed81
push edx
push ecx
push eax
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.10161ca0
add esp, 0x14
movzx eax, byte [esi + 0x120]
cmp al, 4
jne 0x1009f0bd
mov edx, dword [esi + 0x180]
lea ecx, [esi + 0x78]
push dword [esi + 0x50]
push dword [esi + 0x2c]
call fcn.1009d820
add esp, 8
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
cmp edx, 0x3b9aca00
jne 0x1009f2ea
mov dword [esi + 0x198], eax
lea eax, [esi + 0x198]
mov dword [esi + 0x19c], ecx
push eax
lea eax, [esi + 0x78]
push eax
call fcn.100a5e80
add esp, 8
jmp 0x1009f0ee
mov edx, dword [esi + 0x7c]
mov ecx, dword [esi + 0x79]
mov dword [esi + 0x19c], edx
mov dword [esi + 0x199], ecx
mov byte [esi + 0x198], al
lea eax, [esi + 0x198]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.100a5e80
add esp, 8
jmp 0x1009f0ee
mov edx, dword [esi + 0x124]
mov ecx, dword [esi + 0x121]
mov dword [esi + 0x19c], edx
mov dword [esi + 0x199], ecx
mov byte [esi + 0x198], al
lea eax, [esi + 0x198]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.100a5e80
add esp, 8
push 0x90
lea eax, [esi + 0x78]
jmp 0x1009ed8c
test cl, cl
jne 0x1009eabf
cmp byte [esi + 0x168], 4
je 0x1009eabf
push dword [ebp + 0x10]
push dword [esi + 0x17c]
push dword [esi + 0x178]
lea ecx, [esi + 0x140]
push ecx
push eax
call fcn.100b1190
add esp, 0x14
lea eax, [esi + 0x198]
mov dword [esi + 0x78], 0x101b5b70
mov dword [esi + 0x7c], 1
mov dword [esi + 0x88], 0
mov dword [esi + 0x2b8], 0xa
mov dword [esi + 0x228], eax
lea eax, [esi + 0x228]
mov dword [esi + 0x22c], 0x100150f0
mov dword [esi + 0x80], eax
lea eax, [esi + 0x78]
mov dword [esi + 0x84], 1
push eax
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x120]
push eax
call fcn.100b01e0
add esp, 0xc
lea ecx, [esi + 0x120]
call fcn.1009d2e0
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x1009f1ba
push 1
push eax
push dword [esi + 0x198]
call fcn.100985c0
add esp, 0xc
lea eax, [esi + 0x20]
mov dword [esi + 0x2b8], 7
push eax
lea eax, [esi + 0x78]
push eax
call fcn.1015fbf0
add esp, 8
movzx eax, byte [esi + 0x78]
cmp al, 4
jne 0x1009f345
mov eax, 1
mov dword [esi + 0x198], 1
mov dword [esi + 0x19c], 0
mov dword [esi + 0x1a0], 0
mov dword [esi + 0x2c], 0
jmp 0x1009f25b
mov eax, dword [esi + 0x50]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
add eax, edi
push pe_nt_image_headers32
mov ebx, dword [esi + 0x180]
push ebx
push eax
call fcn.10193640
add esp, 0xc
add edi, 0x100
mov dword [esi + 0x2c], edi
mov dword [esi + 0x1a0], edi
push 1
push pe_nt_image_headers32
push ebx
call fcn.100985c0
mov eax, dword [esi + 0x50]
add esp, 0xc
cmp dword [esi + 0x3c], 0xff
jbe 0x1009f3d7
mov dword [esi + 0x50], eax
push 1
push pe_nt_image_headers32
call fcn.10098600
add esp, 8
test eax, eax
je 0x1009f4fc
mov dword [esi + 0x2b8], 9
push pe_nt_image_headers32
mov dword [esi + 0x180], eax
push eax
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.10162120
add esp, 0x10
movzx eax, byte [esi + 0x78]
mov edi, dword [esi + 0x2c]
cmp al, 4
jne 0x1009f375
mov ecx, dword [esi + 0x19c]
mov eax, dword [esi + 0x7c]
sub ecx, edi
mov dword [esi + 0x3c], eax
cmp ecx, 0xff
ja 0x1009f20c
push pe_nt_image_headers32
push edi
lea eax, [esi + 0x198]
push eax
call fcn.101a9310
add esp, 0xc
mov eax, dword [esi + 0x198]
mov edi, dword [esi + 0x1a0]
jmp 0x1009f20f
push edx
push ecx
push eax
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x228]
push eax
call fcn.10161d80
add esp, 0x14
movzx eax, byte [esi + 0x228]
cmp al, 4
je 0x1009eaac
mov edx, dword [esi + 0x22c]
mov ecx, dword [esi + 0x229]
mov dword [esi + 0x19c], edx
mov dword [esi + 0x199], ecx
mov byte [esi + 0x198], al
lea eax, [esi + 0x198]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.100a5e80
add esp, 8
jmp 0x1009f0ee
mov edx, dword [esi + 0x7c]
mov ecx, dword [esi + 0x79]
mov dword [esi + 0x19c], edx
mov dword [esi + 0x199], ecx
mov byte [esi + 0x198], al
lea eax, [esi + 0x198]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.100a5e80
add esp, 8
jmp 0x1009f0ee
movzx ecx, byte [esi + 0x7b]
movzx edi, word [esi + 0x79]
mov edx, dword [esi + 0x7c]
mov byte [esi + 0x22b], cl
mov word [esi + 0x229], di
mov byte [esi + 0x228], al
lea eax, [esi + 0x228]
mov dword [esi + 0x22c], edx
push eax
lea eax, [esi + 0x78]
push eax
call fcn.100a5e80
add esp, 8
push 0x90
lea eax, [esi + 0x78]
push eax
push dword [esi + 0x1c]
call fcn.10193640
add esp, 0xc
push 1
push pe_nt_image_headers32
push dword [esi + 0x180]
call fcn.100985c0
add esp, 0xc
jmp 0x1009f43a
mov dword [esi + 0x11c], eax
mov dword [esi + 0x2b8], 8
push dword [esi + 0x2c]
push eax
lea eax, [esi + 0x78]
push eax
call fcn.100b1530
add esp, 0xc
mov edi, dword [esi + 0x78]
cmp edi, 3
jne 0x1009f420
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x1009eabf
push 1
push eax
push dword [esi + 0x50]
call fcn.100985c0
add esp, 0xc
jmp 0x1009eabf
mov ebx, dword [esi + 0x1c]
lea eax, [esi + 0x7c]
lea ecx, [ebx + 4]
push 0x8c
push eax
push ecx
call fcn.10193640
add esp, 0xc
mov dword [ebx], edi
mov eax, dword [esi + 0x19c]
mov edi, dword [esi + 0x18]
test eax, eax
je 0x1009f455
push 1
push eax
push dword [esi + 0x50]
call fcn.100985c0
add esp, 0xc
mov dword [esi + 0x2b8], 6
jmp 0x1009ed9b
mov dword [esi + 0x2b8], 0xf
push 0xc
push 4
call fcn.101aefe0
add esp, 8
jmp 0x1009f51e
mov dword [esi + 0x2b8], 0xe
push 0x17
push 1
call fcn.101aefe0
add esp, 8
jmp 0x1009f51e
movzx eax, byte [esi + 0x10]
mov byte [esi + 0xe], al
push 0x101b5b14
push 0x2b
push 0x101b5ae8
call fcn.101af1e0
add esp, 0xc
jmp 0x1009f51e
ud2
mov byte [esi + 0x15], 4
mov dword [esi + 0x4c], 0xffffffff
mov byte [esi + 0x16], 1
mov byte [esi + 0x17], 0
mov dword [esi + 0x2b8], 6
push 0x101b5b60
push 0x3c
push str.shouldnt_happen:_failed_to_connect_to_all_IPs__but_no_error
call fcn.101aade0
add esp, 0xc
jmp 0x1009f51e
push 0xd
push 1
call fcn.101aefe0
add esp, 8
jmp 0x1009f51e
mov eax, dword [esi + 0x50]
mov dword [esi + 0x2b8], 8
mov dword [esi + 0x11c], eax
push pe_nt_image_headers32
push 1
call fcn.101aefe0
add esp, 8
ud2