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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov al, byte [esi + 0x19]
cmp al, byte [esi + 4]
mov edi, ecx
sete al
mov byte [esi + 0x3c], al
test al, al
je 0x100043c5
mov dword [edi + 0x4c00], 2
cmp byte [esi + 0x19], 0
jne 0x100043ef
movzx eax, word [esi + 0xe]
push eax
lea eax, [esi + 0x7f]
push 0
push eax
mov dword [esi + 0x78], 0
mov word [esi + 0x7c], 0
mov byte [esi + 0x7e], 0
call sub.MSVCR110.dll_memset
add esp, 0xc
mov edx, 5
mov ecx, edi
call fcn.1000edd0
mov ebx, dword [ebp + 0xc]
mov ecx, eax
mov byte [esi + 0x1c], cl
mov byte [esi + 0x1d], cl
mov byte [esi + 0x1f], 3
mov al, byte [ebx + 0x2f]
cmp al, 2
jne 0x10004416
mov byte [esi + 0x1f], al
jmp 0x1000442f
test al, al
jne 0x1000442f
cmp cl, 9
jb 0x1000442f
movzx eax, cl
mov byte [esi + 0x1f], 2
mov al, byte [eax + 0x100170cc]
mov byte [esi + 0x1d], al
mov byte [esi + 0x20], 0
cmp cl, 8
ja 0x10004447
mov edx, 1
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x20], al
mov al, byte [esi + 0x1d]
add al, al
add al, byte [esi + 0x20]
mov byte [esi + 0x65], al
cmp byte [ebx + 0x2f], 1
jne 0x1000446c
mov edx, 1
mov ecx, edi
call fcn.1000edd0
test eax, eax
jne 0x1000446c
mov byte [esi + 0x1f], 2
cmp byte [ebx + 0x30], 0
je 0x10004483
mov edx, 2
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x21], al
jmp 0x10004487
mov byte [esi + 0x21], 0
cmp byte [esi + 2], 1
jne 0x100044db
cmp byte [esi + 0x10], 2
jne 0x100044db
mov edx, 3
mov ecx, edi
call fcn.1000edd0
mov ecx, eax
cmp ecx, 7
jne 0x100044b3
lea edx, [eax - 3]
mov ecx, edi
call fcn.1000edd0
lea ecx, [eax + 8]
movzx eax, byte [ecx + 0x10017080]
mov byte [esi + 0x16], al
mov al, byte [ecx + 0x10017098]
mov byte [esi + 0x17], al
movzx eax, al
movzx ecx, word [eax*2 + 0x100170b8]
movzx eax, byte [esi + 0x16]
imul ecx, eax
mov dword [esi + 0x74], ecx
cmp byte [esi + 2], 2
mov word [esi + 0x30], 0
jne 0x1000451a
mov al, byte [esi + 0x1a]
cmp al, 1
jne 0x10004512
mov edx, 1
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x30], al
test al, al
jne 0x1000451a
mov edx, 1
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x31], al
jmp 0x1000451a
cmp al, 2
jne 0x1000451a
mov byte [esi + 0x30], 1
mov al, byte [esi + 0x1a]
mov byte [esi + 0x22], 0
mov word [esi + 0x28], 0x200
mov byte [esi + 0x39], 0
mov byte [esi + 0x1b], 0
test al, al
je 0x100047bf
cmp al, 3
je 0x100047bf
cmp byte [ebx + 0x27], 0
je 0x1000457f
mov edx, 1
mov ecx, edi
call fcn.1000edd0
test eax, eax
je 0x1000457f
mov edx, 1
mov ecx, edi
mov byte [esi + 0x1b], 1
call fcn.1000edd0
test eax, eax
je 0x1000457f
mov edx, 1
mov ecx, edi
call fcn.1000edd0
test eax, eax
setne al
add al, 2
mov byte [esi + 0x1b], al
cmp byte [esi + 2], 1
mov word [esi + 0x32], 0
jne 0x100045c7
cmp byte [ebx + 0x28], 0
je 0x100045c7
mov edx, 1
mov ecx, edi
call fcn.1000edd0
test eax, eax
je 0x100045c7
mov edx, 1
mov ecx, edi
mov byte [esi + 0x32], 1
call fcn.1000edd0
mov byte [esi + 0x33], al
test al, al
je 0x100045c7
mov edx, 1
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x32], al
mov al, byte [esi + 0x1a]
cmp al, 1
jne 0x10004924
mov al, byte [esi + 2]
mov ecx, edi
cmp al, 1
jne 0x10004689
mov edx, 1
call fcn.1000edd0
test eax, eax
je 0x100045f1
mov byte [esi + 0x29], 3
mov edx, 1
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x28], al
test al, al
je 0x10004622
mov edx, 6
mov ecx, edi
call fcn.1000edd0
mov edx, 6
mov ecx, edi
mov byte [esi + 0x2a], al
call fcn.1000edd0
mov byte [esi + 0x2b], al
push 4
push esi
mov ecx, edi
call fcn.10003590
mov edx, 2
mov ecx, edi
mov byte [esi + 0x7c], al
call fcn.1000edd0
mov edx, 2
mov ecx, edi
mov byte [esi + 0x34], al
call fcn.1000edd0
mov edx, 3
mov ecx, edi
mov byte [esi + 0x35], al
call fcn.1000edd0
mov edx, 2
mov ecx, edi
mov byte [esi + 0x36], al
call fcn.1000edd0
cmp byte [esi + 0x29], 3
mov byte [esi + 0x37], al
jne 0x100047bf
mov edx, 2
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x38], al
jmp 0x100047bf
mov edx, 4
cmp al, 2
jne 0x10004856
call fcn.10010180
mov ecx, 0xc
cmp cl, byte [esi + 0x1c]
sbb ecx, ecx
inc ecx
shl ecx, 5
movzx edx, byte [ecx + eax + 0x10017a30]
movzx ebx, byte [ecx + eax + 0x10017a20]
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x29], bl
cmp ebx, 4
jne 0x10004778
lea edx, [ebx - 1]
mov ecx, edi
call fcn.10010180
mov ecx, 0xc
cmp cl, byte [esi + 0x1c]
sbb ecx, ecx
inc ecx
add ecx, ecx
movzx edx, byte [eax + ecx*8 + 0x10017a68]
movzx ebx, byte [eax + ecx*8 + 0x10017a60]
mov ecx, edi
call fcn.1000edd0
mov edx, 1
mov ecx, edi
mov byte [esi + 0x29], bl
call fcn.1000edd0
mov byte [esi + 0x28], al
mov byte [esi + 0x39], al
test al, al
je 0x1000472a
mov edx, 1
mov ecx, edi
call fcn.1000edd0
test al, al
mov byte [esi + 0x39], al
sete al
mov byte [esi + 0x28], al
mov edx, 6
mov ecx, edi
jmp section..htext
mov edx, 3
mov ecx, edi
call fcn.1000edd0
movzx edx, byte [esi + 0x30]
add edx, 2
mov ecx, edi
mov byte [esi + 0x34], al
call fcn.1000edd0
mov edx, 3
mov ecx, edi
mov byte [esi + 0x35], al
call fcn.1000edd0
cmp byte [esi + 0x29], 3
mov byte [esi + 0x36], al
jne 0x100047bc
mov edx, 2
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x38], al
mov ebx, dword [ebp + 0xc]
movzx ecx, byte [esi + 0x1b]
shl ecx, 4
movzx eax, byte [ecx + 0x10017a80]
mov byte [esi + 0x66], al
movzx eax, byte [ecx + 0x10017a84]
mov byte [esi + 0x67], al
mov eax, dword [ecx + 0x10017a88]
mov dword [esi + 0x68], eax
mov eax, dword [ecx + 0x10017a8c]
mov dword [esi + 0x6c], eax
mov al, byte [esi + 0x29]
mov byte [esi + 0x70], 0
cmp al, 1
je 0x100047fb
test al, al
jne 0x100047ff
mov byte [esi + 0x70], 1
mov al, byte [esi + 0x1a]
mov word [esi + 0x2e], 0
test al, al
je 0x10004ab1
cmp al, 3
je 0x10004ab1
push ebx
push esi
mov ecx, edi
call fcn.100056c0
cmp byte [ebx + 0x2a], 0
je 0x10004a77
mov edx, 1
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x2e], al
test al, al
je 0x10004a71
mov edx, 2
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x2f], al
jmp 0x10004a7d
call fcn.10010180
mov ecx, 0xc
cmp cl, byte [esi + 0x1c]
sbb ecx, ecx
inc ecx
shl ecx, 5
movzx edx, byte [ecx + eax + 0x10017a30]
movzx ebx, byte [ecx + eax + 0x10017a20]
mov ecx, edi
call fcn.1000edd0
mov byte [esi + 0x29], bl
cmp ebx, 4
jne 0x100048db
lea edx, [ebx - 1]
mov ecx, edi
mov byte [esi + 0x28], 1
call fcn.10010180
mov ecx, 0xc
cmp cl, byte [esi + 0x1c]
sbb ecx, ecx
inc ecx
add ecx, ecx
movzx edx, byte [eax + ecx*8 + 0x10017a68]
movzx ebx, byte [eax + ecx*8 + 0x10017a60]
mov ecx, edi
call fcn.1000edd0
mov edx, 6
mov ecx, edi
mov byte [esi + 0x29], bl
call fcn.1000edd0
mov edx, 6
mov ecx, edi
mov byte [esi + 0x2a], al
call fcn.1000edd0
mov byte [esi + 0x2b], al
cmp byte [esi + 0x29], 3
jne 0x100048f0
push 3
push esi
mov ecx, edi
call fcn.10003590
mov byte [esi + 0x7b], al
jmp 0x100048f4
mov byte [esi + 0x7b], 2
push 4
push esi
mov ecx, edi
call fcn.10003590
mov edx, 2
mov ecx, edi
mov byte [esi + 0x7c], al
call fcn.1000edd0
mov edx, 2
mov ecx, edi
mov byte [esi + 0x2c], al
call fcn.1000edd0
mov byte [esi + 0x2d], al
jmp 0x100047bc
cmp al, 2
jne 0x100047bf
mov al, byte [esi + 2]
mov ecx, edi
cmp al, 1
jne 0x100049ac
mov edx, 1
call fcn.1000edd0
push 5
push esi
mov ecx, edi
mov byte [esi + 0x28], al
call fcn.10003590
push 4
push esi
mov ecx, edi
mov byte [esi + 0x7d], al
call fcn.10003590
mov edx, 2
mov ecx, edi
mov byte [esi + 0x7c], al
call fcn.1000edd0
mov edx, 2
mov ecx, edi
mov byte [esi + 0x34], al
call fcn.1000edd0
mov edx, 3
mov ecx, edi
mov byte [esi + 0x35], al
call fcn.1000edd0
mov edx, 2
mov ecx, edi
mov byte [esi + 0x36], al
call fcn.1000edd0
mov edx, 2
mov ecx, edi
mov byte [esi + 0x37], al
call fcn.1000edd0
mov byte [esi + 0x38], al
jmp 0x100047bf
cmp al, 2
jne 0x10004a21
mov edx, 3
call fcn.10010180
mov ecx, 0xc
cmp cl, byte [esi + 0x1c]
sbb ecx, ecx
inc ecx
add ecx, ecx
movzx edx, byte [eax + ecx*8 + 0x10017a68]
movzx ebx, byte [eax + ecx*8 + 0x10017a60]
mov ecx, edi
call fcn.1000edd0
mov ecx, edi
push 6
push esi
mov byte [esi + 0x29], bl
call fcn.10003590
mov edx, 3
mov ecx, edi
mov byte [esi + 0x7e], al
call fcn.1000edd0
mov edx, 3
mov ecx, edi
mov byte [esi + 0x34], al
call fcn.1000edd0
mov edx, 3
mov ecx, edi
mov byte [esi + 0x35], al
call fcn.1000edd0
mov byte [esi + 0x37], 0
jmp 0x100047a4
mov edx, 1
call fcn.1000edd0
neg eax
sbb al, al
push 5
and al, 2
push esi
mov ecx, edi
mov byte [esi + 0x29], al
call fcn.10003590
push 4
push esi
mov ecx, edi
mov byte [esi + 0x7d], al
call fcn.10003590
mov edx, 2
mov ecx, edi
mov byte [esi + 0x7c], al
call fcn.1000edd0
mov edx, 2
mov ecx, edi
mov byte [esi + 0x2c], al
call fcn.1000edd0
mov byte [esi + 0x2d], al
jmp 0x100047bf
mov byte [esi + 0x2f], 4
jmp 0x10004a7d
mov word [esi + 0x2e], 1
cmp byte [esi + 2], 0
jne 0x10004b47
cmp byte [esi + 0x1a], 1
jne 0x10004b47
cmp byte [esi + 0x1d], 8
jbe 0x10004b47
push 2
push esi
mov ecx, edi
mov byte [esi + 0x22], 2
call fcn.1000dc10
mov byte [esi + 0x7a], al
jmp 0x10004b47
cmp byte [esi + 2], 1
jne 0x10004ac4
push 0
push esi
mov ecx, edi
call fcn.10003590
mov byte [esi + 0x78], al
push 1
push esi
mov ecx, edi
call fcn.10003590
mov byte [esi + 0x79], al
cmp byte [ebx + 0x2b], 0
je 0x10004b47
cmp byte [esi + 0x1d], 8
ja 0x10004b27
mov edx, 1
mov ecx, edi
call fcn.1000edd0
mov ebx, eax
add ebx, ebx
je 0x10004afd
mov edx, 1
mov ecx, edi
call fcn.1000edd0
add ebx, eax
mov byte [esi + 0x22], bl
cmp ebx, 3
jne 0x10004b14
push 2
push esi
mov ecx, edi
call fcn.10003590
mov byte [esi + 0x7a], al
jmp 0x10004b47
cmp ebx, 2
jne 0x10004b47
push ebx
push esi
mov ecx, edi
call fcn.1000dc10
mov byte [esi + 0x7a], al
jmp 0x10004b47
xor eax, eax
xor ecx, ecx
mov byte [esi + 0x22], 2
cmp ax, word [esi + 0xe]
jae 0x10004b43
or byte [ecx + esi + 0x7f], 4
movzx eax, word [esi + 0xe]
inc ecx
cmp ecx, eax
jl 0x10004b35
mov byte [esi + 0x7a], 2
mov edx, 1
mov ecx, edi
call fcn.1000edd0
mov ebx, eax
add ebx, ebx
je 0x10004b67
mov edx, 1
mov ecx, edi
call fcn.1000edd0
add ebx, eax
mov al, byte [esi + 0x1a]
mov byte [esi + 0x23], bl
mov byte [esi + 0x24], bl
test al, al
je 0x10004b90
cmp al, 3
je 0x10004b90
mov edx, 1
mov ecx, edi
call fcn.1000edd0
pop edi
mov byte [esi + 0x25], al
pop esi
xor eax, eax
pop ebx
pop ebp
ret 8
mov edx, 1
mov ecx, edi
call fcn.1000edd0
mov ebx, eax
add ebx, ebx
je 0x10004bb0
mov edx, 1
mov ecx, edi
call fcn.1000edd0
add ebx, eax
mov edx, 1
mov ecx, edi
mov byte [esi + 0x24], bl
call fcn.1000edd0
push dword [ebp + 0xc]
mov ecx, edi
push esi
mov byte [esi + 0x25], al
call fcn.100056c0
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret 8