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

Disassembly:
sub esp, 0x24
mov edx, dword [esp + 0x2c]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x38]
mov eax, dword [edi]
movzx ecx, byte [edi + 0x6d660]
mov bl, byte [edi + 0x3abf0]
lea ebp, [eax + 0x100]
mov al, byte [ecx + eax + 0x100]
mov dword [esp + 0x1c], ebp
test bl, bl
je 0x1010aab3
cmp bl, 2
je 0x1010aab3
cmp al, 3
je 0x1010aab3
cmp al, 2
je 0x1010aab3
xor esi, esi
cmp byte [ecx + ebp], 6
je 0x1010aab8
mov ebp, 2
mov dword [esp + 0x24], 1
mov dword [esp + 0x14], 4
mov dword [esp + 0x20], 7
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], 8
jmp 0x1010aae5
mov esi, 1
mov dword [esp + 0x24], 0
mov ebp, 1
mov dword [esp + 0x14], 3
mov dword [esp + 0x20], 5
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 6
cmp byte [edi + 0x3edd8], 0
mov eax, dword [esp + 0x1c]
mov bl, byte [edi + 0x3adab]
mov bh, byte [edi + 0x3eebb]
mov dword [esp + 0x18], ebp
mov al, byte [ecx + eax + 0x1680]
mov dword [esp + 0x10], esi
mov byte [esp + 0x38], al
mov byte [esp + 0x3c], bl
jne 0x1010ab19
mov byte [edx + 0xc], 0
test esi, esi
mov dword [edx + 0x78], 1
mov ecx, esi
mov dword [edx + 0x98], 1
sete al
mov dword [edx + 0x90], 1
add al, 2
mov dword [edx + 0x88], 1
mov byte [edx + 0x6c], al
xor ecx, 1
xor eax, eax
mov dword [edx + 0x70], ecx
test bh, bh
mov dword [edx + 0x8c], 2
mov dword [edx + 0xd4], 1
sete al
mov dword [edx + 0x114], 1
mov dword [edx + 0x11c], 1
mov dword [edx + 0x1b4], 1
mov dword [edx + 0x254], 1
lea eax, [eax*2 + 1]
mov dword [edx + 0x204], 1
mov dword [edx + 0x108], eax
movzx eax, bl
neg eax
mov dword [edx + 0x200], 1
sbb eax, eax
mov dword [edx + 0xd0], eax
test esi, esi
jne 0x1010abc9
test bl, bl
je 0x1010abcb
xor ebp, ebp
lea eax, [ecx + 1]
mov dword [edx + 0x1d4], ebp
mov dword [edx + 0x1c4], eax
mov dword [edx + 0x1d0], 1
mov byte [edx + 0x23c], 1
mov dword [edx + 0x280], 1
mov dword [edx + 0x2c8], 1
mov dword [edx + 0x344], 1
mov dword [edx + 0x30c], 1
mov dword [edx + 0x348], 1
mov dword [edx + 0x324], 1
mov byte [edx + 0x51], 2
mov dword [edx + 0x3e8], 0
mov dword [edx + 0x400], 0
cmp byte [edi + 0x917e8], 1
je 0x1010ac56
cmp dword [edi + 0x91554], 0
mov eax, 0x2000000
je 0x1010ac5b
mov eax, 0x100000
mov dword [edx + 0x140], eax
lea ebp, [edx + 0x36c]
mov eax, dword [esp + 0x40]
mov dword [ebp], 1
mov byte [edx + 0x14], 1
cmp eax, 1
jl 0x1010adfe
xor eax, eax
mov dword [esp + 0x30], 0
test bl, bl
mov dword [edx + 0xdc], 1
mov dword [edx + 0x190], 1
sete al
mov byte [edx + 0x13e], 2
mov dword [edx + 0x20], eax
test bl, bl
mov eax, 2
mov dword [edx + 0x1a0], 1
cmovne eax, dword [esp + 0x30]
mov dword [edx + 0xe8], eax
xor eax, eax
test bl, bl
mov dword [edx + 0x1f8], 1
mov dword [edx + 0x1f4], ecx
sete al
inc eax
mov dword [edx + 0xd8], eax
xor eax, eax
test bh, bh
sete al
shl dword [edx + 0x140], 1
add eax, 2
mov dword [edx + 0x108], eax
lea eax, [esi + 1]
mov dword [edx + 0x1fc], eax
mov al, byte [edi + 0x3abf0]
test al, al
je 0x1010ad28
lea ebp, [edx + 0x36c]
cmp al, 2
je 0x1010ad28
mov esi, dword [esp + 0x10]
test bl, bl
jne 0x1010ad28
lea ebx, [ecx + 1]
mov eax, ebx
jmp 0x1010ad2d
xor eax, eax
lea ebx, [ecx + 1]
mov dword [edx + 0x1d4], eax
mov eax, esi
xor eax, 1
mov dword [edx + 0x1f0], 1
mov dword [edx + 0x1d0], 2
mov dword [edx + 0x27c], 1
mov dword [edx + 0x288], 1
lea eax, [eax*2 + 1]
mov dword [edx + 0x2dc], 1
mov dword [edx + 0x1c4], eax
mov eax, esi
xor eax, 1
mov dword [edx + 0x344], 2
add eax, 2
mov dword [edx + 0x308], 1
mov dword [ebp], eax
mov eax, dword [esp + 0x40]
mov dword [edx + 0x304], 1
mov dword [edx + 0x310], 1
mov dword [edx + 0x348], 0
mov dword [edx + 0x32c], 0xfa0
mov byte [edx + 0x318], 2
mov dword [edx + 0x330], 1
mov dword [edx + 0x35c], ebx
mov dword [edx + 0x360], 1
mov dword [edx + 0x3a0], 1
mov dword [edx + 0x3a4], 1
mov dword [edx + 0x4c], 1
mov ebp, esi
cmp eax, 2
jl 0x1010b50d
mov byte [edx + 4], 1
mov dword [edx + 0x34], 0x19
mov dword [edx + 0x7c], 2
mov al, byte [edi + 0x3abf0]
test al, al
je 0x1010ae30
cmp al, 2
je 0x1010ae30
mov eax, 1
jmp 0x1010ae32
xor eax, eax
mov dword [edx + 0x118], eax
test esi, esi
mov eax, 1
mov byte [edx + 0x13d], 1
mov ebx, 4
mov dword [edx + 0x138], 1
cmovne eax, ebx
mov dword [edx + 0x184], 1
mov dword [edx + 0x1c8], 1
mov dword [edx + 0x22c], 0x64
mov dword [edx + 0x230], 1
mov dword [edx + 0x1fc], eax
mov dword [edx + 0x208], 1
mov dword [edx + 0x210], 2
mov dword [edx + 0x1f8], 2
mov dword [edx + 0x1d0], 3
mov byte [edx + 0x23c], 2
mov dword [edx + 0x260], 1
mov dword [edx + 0x264], 1
mov dword [edx + 0x1b8], ecx
mov dword [edx + 0x1bc], ecx
mov dword [edx + 0x1c0], ecx
mov dword [edx + 0x26c], ecx
mov dword [edx + 0x1d8], 1
mov dword [edx + 0x294], 1
mov dword [edx + 0x284], 1
mov al, byte [edi + 0x3abf0]
test al, al
je 0x1010af0d
cmp al, 2
jne 0x1010af1c
cmp dword [edi + 0x5cbc4], 1
mov esi, ebp
jg 0x1010af1c
xor eax, eax
jmp 0x1010af21
mov eax, 1
mov ebp, dword [esp + 0x40]
mov dword [edx + 0x2d0], eax
xor eax, eax
cmp byte [esp + 0x38], 1
mov dword [edx + 0x2c8], 2
sete al
mov dword [edx + 0x300], 1
inc eax
mov dword [edx + 0x54], 1
mov dword [edx + 0x2c4], eax
mov eax, dword [esp + 0x14]
mov byte [edx + 0x51], 0
mov dword [edx + 0x36c], eax
mov dword [edx + 0x368], 1
mov dword [edx + 0x3b8], 1
mov dword [edx + 0x3bc], 1
mov dword [edx + 0x3a8], ecx
mov dword [edx + 0x3c0], ecx
mov dword [edx + 0x5c], 0
mov dword [edx + 0x58], 1
cmp ebp, 3
jl 0x1010b1a9
cmp byte [esp + 0x3c], 0
mov byte [edx + 0xc], 1
mov dword [edx + 0x70], 1
mov dword [edx + 0x74], 1
mov dword [edx + 0x7c], 0
mov dword [edx + 0x98], 2
je 0x1010afd4
xor ebx, ebx
jmp 0x1010afde
test esi, esi
mov eax, 1
cmovne ebx, eax
mov dword [edx + 0xd0], ebx
lea eax, [esi*2 + 2]
mov dword [edx + 0xf8], 1
mov dword [edx + 0x110], 1
mov dword [edx + 0x194], 1
mov byte [edx + 0x134], 1
mov byte [edx + 0x128], 0
mov dword [edx + 0x1a4], 2
mov dword [edx + 0x188], 1
mov dword [edx + 0x198], 0
mov dword [edx + 0x238], ecx
mov dword [edx + 0x240], 3
mov dword [edx + 0x21c], 1
mov dword [edx + 0x228], 0xffffffff
mov dword [edx + 0x1ec], 1
mov dword [edx + 0x24c], ecx
xor ecx, ecx
mov dword [edx + 0x1fc], eax
test esi, esi
mov eax, dword [esp + 0x18]
mov dword [edx + 0x1d0], 5
cmovne eax, ecx
mov dword [edx + 0x258], 1
mov dword [edx + 0x1b8], eax
mov dword [edx + 0x1bc], eax
mov dword [edx + 0x1c0], eax
mov eax, esi
xor eax, 1
mov dword [edx + 0x294], 2
add eax, eax
mov dword [edx + 0x26c], eax
mov eax, esi
mov dword [edx + 0x2cc], 2
xor eax, 1
mov dword [edx + 0x2c8], 3
add eax, 2
mov dword [edx + 0x2dc], 2
mov dword [edx + 0x2f0], 2
mov dword [edx + 0x54], 2
mov dword [edx + 0x4c], 2
mov dword [edx + 0x44], 1
mov dword [edx + 0x48], 6
mov byte [edx + 0x50], 1
mov dword [edx + 0x40], 1
mov dword [edx + 0x344], eax
mov dword [edx + 0x328], 2
mov byte [edx + 0x318], 3
mov dword [edx + 0x370], 1
mov dword [edx + 0x37c], 1
test esi, esi
jne 0x1010b150
movzx eax, byte [edi + 0x6d660]
mov ebx, dword [esp + 0x1c]
cmp byte [eax + ebx], 6
setne cl
inc ecx
mov eax, esi
mov dword [edx + 0x384], ecx
mov cl, byte [esp + 0x3c]
xor eax, 1
shl eax, 2
mov dword [edx + 0x390], eax
xor eax, eax
test cl, cl
mov dword [edx + 0x3b8], 2
sete al
inc eax
mov dword [edx + 0x3bc], eax
mov al, byte [edi + 0x3abf0]
test al, al
je 0x1010b195
cmp al, 2
je 0x1010b195
mov eax, 1
jmp 0x1010b197
xor eax, eax
mov dword [edx + 0x398], eax
mov dword [edx + 0x3c8], 1
jmp 0x1010b1ad
mov cl, byte [esp + 0x3c]
cmp ebp, 4
jl 0x1010b50d
xor ebx, ebx
mov byte [edx + 0x134], 2
test cl, cl
mov dword [edx + 0x74], 2
mov eax, 2
cmovne eax, ebx
mov dword [edx + 0xd0], eax
mov dword [edx + 0xe0], 4
mov dword [edx + 0xf8], 2
mov dword [edx + 0x108], 3
jne 0x1010b209
mov al, byte [edi + 0x3abf0]
test al, al
je 0x1010b209
cmp al, 2
je 0x1010b209
lea eax, [ebx + 1]
jmp 0x1010b20b
xor eax, eax
mov dword [edx + 0xfc], eax
mov ebx, 3
mov dword [edx + 0x1d8], 2
xor eax, eax
test esi, esi
mov dword [esp + 0x38], 0
mov ecx, ebx
mov ebp, 5
cmovne ecx, eax
mov eax, ebp
cmovne eax, dword [esp + 0x38]
mov dword [edx + 0x1b8], ecx
mov dword [edx + 0x1bc], eax
mov dword [edx + 0x1c0], ecx
mov ecx, esi
mov eax, dword [esp + 0x20]
xor ecx, 1
add ecx, ecx
mov dword [edx + 0x24c], ecx
mov dword [edx + 0x208], 2
mov dword [edx + 0x220], closesocket
mov dword [edx + 0x22c], 0xffffffff
mov dword [edx + 0x290], 1
mov dword [edx + 0x28c], 1
mov dword [edx + 0x288], 2
mov dword [edx + 0x2b8], 0x2007
mov dword [edx + 0x2bc], 0x2007
mov dword [edx + 0x2c0], 0x2007
mov dword [edx + 0x2c4], 4
mov byte [edx + 0x13d], 2
mov dword [edx + 0x188], 2
mov word [edx + 0x50], 0x902
mov dword [edx + 0x64], 1
mov dword [edx + 0x31c], 1
mov dword [edx + 0x36c], eax
mov al, byte [edi + 0x3abf0]
test al, al
je 0x1010b304
cmp al, 2
je 0x1010b304
xor eax, eax
jmp 0x1010b309
mov eax, 1
neg eax
sbb al, al
and al, 2
mov byte [edx + 0x380], al
mov dword [edx + 0x388], ecx
mov byte [edx + 0x394], 1
cmp dword [esp + 0x40], ebp
jl 0x1010b50d
mov cl, byte [esp + 0x3c]
mov eax, 2
mov dword [edx + 0x28], 1
test cl, cl
mov dword [esp + 0x38], 0
cmovne eax, dword [esp + 0x38]
mov dword [edx + 0x20], eax
mov eax, ebx
mov dword [edx + 0x30], 4
mov byte [edx + 0x6c], 4
mov dword [esp + 0x3c], 0
cmovne eax, dword [esp + 0x3c]
mov dword [edx + 0xd0], eax
mov eax, 6
cmovne eax, ebx
mov dword [edx + 0xec], eax
xor eax, eax
test cl, cl
sete al
inc eax
mov dword [edx + 0x10c], eax
mov eax, dword [esp + 0x24]
mov byte [edx + 0x1ac], 0
mov dword [edx + 0x1cc], 1
mov dword [edx + 0x1dc], eax
mov eax, esi
xor eax, 1
shl eax, 2
mov dword [edx + 0x1b8], eax
xor eax, eax
test esi, esi
cmovne ebp, eax
mov eax, esi
mov dword [edx + 0x1c0], ebp
xor eax, 1
mov dword [edx + 0x260], 2
mov dword [edx + 0x298], eax
mov dword [edx + 0x2cc], ebx
mov al, byte [edi + 0x3abf0]
test al, al
je 0x1010b3ed
cmp al, 2
je 0x1010b3ed
xor al, al
jmp 0x1010b3ef
mov al, 1
cmp dword [esp + 0x40], 6
mov byte [edx + 0x380], al
mov word [edx + 0x3c5], 0x101
mov dword [edx + 0x54], ebx
mov dword [edx + 0x60], 1
mov byte [edx + 0x50], bl
mov dword [edx + 0x40], 2
mov dword [edx + 0x64], 2
mov dword [edx + 0x388], 2
mov dword [edx + 0x38], 1
jl 0x1010b50d
mov dword [edx + 0x18], 1
xor eax, eax
mov dword [edx + 0x1c], 0
test esi, esi
cmovne ebx, eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x24c], ebx
mov dword [edx + 0x1d0], 6
mov dword [edx + 0x1dc], eax
mov dword [edx + 0x208], 3
mov dword [edx + 0x2cc], 4
mov dword [edx + 0x2c8], 4
mov dword [edx + 0x2bc], 1
mov dword [edx + 0x2c0], 1
mov dword [edx + 0x2a8], 1
mov dword [edx + 0x2ac], 1
mov dword [edx + 0x2fc], 1
jne 0x1010b4c1
test cl, cl
jne 0x1010b4c1
mov eax, 2
jmp 0x1010b4c3
xor eax, eax
mov dword [edx + 0xfc], eax
mov eax, dword [esp + 0x2c]
mov dword [edx + 0x8c], 3
mov byte [edx + 0x13d], 3
mov dword [edx + 0x12c], 1
mov dword [edx + 0x40], 3
mov dword [edx + 0x36c], eax
mov dword [edx + 0x388], 3
mov byte [edx + 0x380], 0
mov dword [edx + 0x3c], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret