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

Disassembly:
sub esp, 0xcc
push ebp
mov ebp, dword [esp + 0xd4]
push esi
xor esi, esi
mov eax, dword [ebp + 4]
mov dword [esp + 0xc], esi
and eax, 1
cmp al, 1
jne 0x10014444
mov ecx, dword [esp + 0xdc]
push ecx
push ebp
call fcn.10016f20
mov edx, eax
add esp, 8
cmp edx, esi
je 0x10014444
push ebx
mov bl, byte [0x102dbcec]
push edi
lea edi, [edx + 2]
cmp edi, esi
je 0x100141d9
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x9c]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x100141e0
mov byte [esp + 0x9c], bl
lea edi, [edx + 0x21]
test edi, edi
je 0x10014210
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x6c]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x10014214
mov byte [esp + 0x6c], bl
lea edi, [edx + 0x2c]
test edi, edi
je 0x10014244
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x7c]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x10014248
mov byte [esp + 0x7c], bl
lea edi, [edx + 0x37]
test edi, edi
je 0x10014278
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x2c]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1001427c
mov byte [esp + 0x2c], bl
lea edi, [edx + 0x43]
test edi, edi
je 0x100142a6
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebx, [esp + 0x4c]
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x100142aa
mov byte [esp + 0x4c], bl
mov edx, dword [edx + 0x50]
test edx, edx
jg 0x100142bf
mov cx, word [0x1010bcc4]
mov word [esp + 0x1c], cx
jmp 0x100142d2
push edx
lea edx, [esp + 0x20]
push 0x1010d9b4
push edx
call fcn.100f0f37
add esp, 0xc
lea edi, [esp + 0x4c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jge 0x10014386
mov esi, 0x1010d9ac
lea eax, [esp + 0x2c]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1001431a
test cl, cl
je 0x10014316
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1001431a
add eax, 2
add esi, 2
test cl, cl
jne 0x100142f2
xor eax, eax
jmp 0x1001431f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10014361
mov esi, 0x1010d9a0
lea eax, [esp + 0x2c]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10014354
test cl, cl
je 0x10014350
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10014354
add eax, 2
add esi, 2
test cl, cl
jne 0x1001432c
xor eax, eax
jmp 0x10014359
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea edi, [esp + 0x2c]
jne 0x10014365
lea edi, [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x4c]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x18]
push ecx
push edx
push eax
push ebp
call fcn.10016c20
mov edi, dword [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
pop edi
cmp ecx, 2
pop ebx
jae 0x100143be
lea ecx, [esp + 0x14]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0x94]
push edx
call fcn.100161c0
lea eax, [esp + 0x78]
push eax
call fcn.10016180
lea ecx, [esp + 0x4c]
push ecx
call fcn.100161c0
lea edx, [esp + 0x30]
push edx
call fcn.100161c0
mov eax, dword [esp + 0x1c]
push eax
call fcn.100161c0
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x58]
push ecx
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x80]
push eax
lea edx, [esp + 0x94]
push ecx
lea eax, [esp + 0xb8]
push edx
push eax
push 0x102de908
call fcn.100139d0
add esp, 0x30
test eax, eax
jne 0x10014439
pop esi
mov eax, 0x102de908
pop ebp
add esp, 0xcc
ret
pop esi
xor eax, eax
pop ebp
add esp, 0xcc
ret
mov eax, esi
pop esi
pop ebp
add esp, 0xcc
ret