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

Disassembly:
sub esp, 0x84
push ebx
push esi
mov ebx, dword [esp + 0x94]
push edi
movsx eax, word [ebx + 0xe]
push ebp
mov ecx, dword [ebx + 4]
push eax
push ecx
call fcn.10014b10
mov dword [esp + 0x1c], eax
add esp, 8
movsx ecx, word [ebx + 0xe]
push ecx
mov edx, dword [ebx + 4]
push edx
call fcn.100382f0
mov dword [esp + 0x20], eax
add esp, 8
push 0x200
call fcn.100365b0
add esp, 4
mov esi, eax
test esi, esi
jne 0x1001416e
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
mov edi, esi
xor eax, eax
mov ecx, pe_nt_image_headers32
push 0x200
rep stosd dword es:[edi], eax
mov ebp, dword [esp + 0x9c]
push esi
push ebp
call fcn.100364d0
add esp, 0xc
cmp eax, 0x200
je 0x100141a6
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
push esi
call fcn.10036640
mov si, word [esp + 0x18]
add esp, 4
mov cx, word [ebx + 8]
mov edx, dword [ebx + 4]
mov ax, cx
mov word [esp + 0x2e], 0x11
imul ax, si
mov word [esp + 0x24], ax
push 6
mov word [esp + 0x30], dx
xor eax, eax
mov word [esp + 0x2a], ax
mov word [esp + 0x2c], ax
mov word [esp + 0x2e], cx
lea ecx, [esp + 0x28]
push ecx
call fcn.100383b0
lea ecx, [esp + 0x2c]
add esp, 8
push 0xc
push ecx
push ebp
call fcn.100364d0
add esp, 0xc
cmp eax, 0xc
je 0x10014218
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
lea eax, [esp + 0x12]
push 1
mov word [esp + 0x16], 0x2ff
push eax
call fcn.100383b0
lea eax, [esp + 0x1a]
add esp, 8
push 2
push eax
push ebp
call fcn.100364d0
xor ecx, ecx
mov eax, dword [ebx + 4]
mov dword [esp + 0x56], ecx
mov dword [esp + 0x5a], ecx
mov dword [esp + 0x5e], eax
mov edx, dword [ebx + 8]
mov dword [esp + 0x62], edx
mov dword [esp + 0x66], ecx
lea ecx, [esp + 0x50]
add esp, 0xc
mov word [esp + 0x44], 0xc00
mov dword [esp + 0x46], 0xffffffff
push 0xd
push ecx
call fcn.100383b0
lea ecx, [esp + 0x4c]
add esp, 8
push 2
push ecx
push ebp
call fcn.100364d0
lea ecx, [esp + 0x52]
add esp, 0xc
mov edi, eax
push 4
push ecx
push ebp
call fcn.100364d0
add esp, 0xc
add edi, eax
lea eax, [esp + 0x4a]
push 4
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add edi, eax
lea eax, [esp + 0x4e]
push 4
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add edi, eax
lea eax, [esp + 0x52]
push 4
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add edi, eax
push 4
lea eax, [esp + 0x5a]
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add edi, eax
lea eax, [esp + 0x5a]
push 4
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add eax, edi
cmp eax, 0x1a
je 0x1001430b
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
lea eax, [esp + 0x12]
push 1
mov word [esp + 0x16], 0x1e
push eax
call fcn.100383b0
lea eax, [esp + 0x1a]
add esp, 8
push 2
push eax
push ebp
call fcn.100364d0
lea eax, [esp + 0x1e]
add esp, 0xc
mov word [esp + 0x12], 1
push 1
push eax
call fcn.100383b0
lea eax, [esp + 0x1a]
add esp, 8
push 2
push eax
push ebp
call fcn.100364d0
lea eax, [esp + 0x1e]
add esp, 0xc
mov word [esp + 0x12], 0xa
push 1
push eax
call fcn.100383b0
lea eax, [esp + 0x1a]
add esp, 8
xor edi, edi
push 2
push eax
push ebp
call fcn.100364d0
mov word [esp + 0x1e], di
lea eax, [esp + 0x1e]
add esp, 0xc
push 1
push eax
call fcn.100383b0
lea eax, [esp + 0x1a]
add esp, 8
push 2
push eax
push ebp
call fcn.100364d0
mov word [esp + 0x1e], di
add esp, 0xc
lea edi, [esp + 0x12]
push 1
push edi
call fcn.100383b0
lea edi, [esp + 0x1a]
add esp, 8
push 2
push edi
push ebp
call fcn.100364d0
add esp, 0xc
mov eax, dword [ebx + 8]
push 1
mov word [esp + 0x16], ax
lea eax, [esp + 0x16]
push eax
call fcn.100383b0
lea edi, [esp + 0x1a]
add esp, 8
push 2
push edi
push ebp
call fcn.100364d0
add esp, 0xc
mov ecx, dword [ebx + 4]
mov word [esp + 0x12], cx
push 1
lea ecx, [esp + 0x16]
push ecx
call fcn.100383b0
lea edi, [esp + 0x1a]
add esp, 8
push 2
push edi
push ebp
call fcn.100364d0
mov word [esp + 0x1e], 0x9a
add esp, 0xc
cmp word [ebx + 0xe], 0x18
je 0x1001442a
mov word [esp + 0x12], 0x98
lea eax, [esp + 0x12]
push 1
push eax
call fcn.100383b0
lea eax, [esp + 0x1a]
add esp, 8
push 2
push eax
push ebp
call fcn.100364d0
add esp, 0xc
cmp word [ebx + 0xe], 0x18
jne 0x10014477
lea eax, [esp + 0x12]
push 2
mov word [esp + 0x16], 0
push eax
push ebp
call fcn.100364d0
lea eax, [esp + 0x1e]
add esp, 0xc
push 2
push eax
push ebp
call fcn.100364d0
add esp, 0xc
or si, 0x8000
push 1
mov word [esp + 0x16], si
lea esi, [esp + 0x16]
push esi
call fcn.100383b0
lea esi, [esp + 0x1a]
add esp, 8
push 2
push esi
push ebp
call fcn.100364d0
add esp, 0xc
xor ecx, ecx
mov word [esp + 0x60], cx
mov eax, dword [ebx + 8]
mov word [esp + 0x62], cx
mov edx, dword [ebx + 4]
mov word [esp + 0x64], ax
mov dword [esp + 0x6c], ecx
mov word [esp + 0x66], dx
mov eax, dword [ebx + 0x18]
mov word [esp + 0x68], cx
test eax, eax
jne 0x100144dc
cmp dword [ebx + 0x1c], ecx
jne 0x100144dc
mov eax, 0x48
mov dword [esp + 0x70], eax
jmp 0x100144e3
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x74], eax
push 1
lea eax, [esp + 0x74]
push eax
call fcn.10038420
lea eax, [esp + 0x7c]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x78]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x7c]
add esp, 8
push 1
push eax
call fcn.10038410
mov cx, word [ebx + 0xe]
add esp, 8
cmp cx, 0x18
jne 0x10014552
mov word [esp + 0x7c], 3
mov word [esp + 0x7e], 8
mov word [esp + 0x7a], 0x20
mov word [esp + 0x6a], 4
mov word [esp + 0x78], 0x10
jmp 0x1001456f
mov word [esp + 0x7e], cx
xor eax, eax
mov word [esp + 0x7c], 1
mov word [esp + 0x7a], cx
mov word [esp + 0x6a], ax
mov word [esp + 0x78], ax
mov word [esp + 0x90], 0x8000
xor eax, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov eax, 1
push 0x1a
shl eax, cl
lea ecx, [esp + 0x64]
mov dword [esp + 0x24], eax
dec ax
push ecx
mov word [esp + 0x9a], ax
call fcn.100383b0
lea ecx, [esp + 0x68]
add esp, 8
push 0x34
push ecx
push ebp
call fcn.100364d0
add esp, 0xc
cmp eax, 0x34
je 0x100145e0
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
cmp word [ebx + 0xe], 0x18
je 0x100146c4
lea edi, [ebx + 0x28]
mov esi, dword [esp + 0x20]
lea eax, [esi*8]
push eax
call fcn.100365b0
mov dword [esp + 0x20], eax
add esp, 4
test eax, eax
jne 0x1001461a
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x1c]
jle 0x10014673
add edi, 2
mov ecx, esi
mov word [eax], 0
add eax, 2
mov dl, byte [edi]
add eax, 2
and edx, 0xffff00ff
add eax, 2
shl dx, 8
add eax, 2
mov word [eax - 6], dx
mov dl, byte [edi - 1]
add edi, 4
and edx, 0xffff00ff
shl dx, 8
mov word [eax - 4], dx
mov dl, byte [edi - 6]
and edx, 0xffff00ff
shl dx, 8
dec ecx
mov word [eax - 2], dx
jne 0x1001462a
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
shl ecx, 2
shl esi, 3
push ecx
push eax
call fcn.100383b0
mov ecx, dword [esp + 0x24]
add esp, 8
push esi
push ecx
push ebp
call fcn.100364d0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
shl ecx, 3
cmp ecx, eax
je 0x100146b5
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
mov eax, dword [esp + 0x1c]
push eax
call fcn.10036640
add esp, 4
jmp 0x100146d1
push 1
push 0xfffffffffffffff8
push ebp
call fcn.10036380
add esp, 0xc
mov dx, word [ebx + 8]
xor eax, eax
mov cx, word [ebx + 4]
mov word [esp + 0x32], ax
mov word [esp + 0x30], ax
mov word [esp + 0x34], dx
mov word [esp + 0x36], cx
mov word [esp + 0x3a], ax
push 9
mov word [esp + 0x3c], ax
mov word [esp + 0x40], dx
mov word [esp + 0x42], cx
mov word [esp + 0x44], ax
lea eax, [esp + 0x34]
push eax
call fcn.100383b0
lea ecx, [esp + 0x38]
add esp, 8
push 2
push ecx
push ebp
call fcn.100364d0
lea ecx, [esp + 0x3e]
add esp, 0xc
mov esi, eax
push 2
push ecx
push ebp
call fcn.100364d0
add esp, 0xc
add esi, eax
lea eax, [esp + 0x34]
push 2
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add esi, eax
lea eax, [esp + 0x36]
push 2
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add esi, eax
lea eax, [esp + 0x38]
push 2
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add esi, eax
lea eax, [esp + 0x3a]
push 2
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add esi, eax
push 2
lea eax, [esp + 0x40]
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add esi, eax
lea eax, [esp + 0x3e]
push 2
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add esi, eax
lea eax, [esp + 0x40]
push 2
push eax
push ebp
call fcn.100364d0
add esp, 0xc
add eax, esi
cmp eax, 0x12
je 0x100147ce
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
mov esi, dword [esp + 0x18]
add esi, 0x40
push esi
call fcn.100365b0
add esp, 4
mov edi, eax
test edi, edi
jne 0x100147f4
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
push esi
call fcn.100365b0
add esp, 4
mov esi, eax
test esi, esi
jne 0x10014813
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
xor eax, eax
mov dword [0x10047fc4], eax
mov dword [esp + 0x1c], eax
cmp dword [ebx + 8], eax
je 0x100148f7
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xa4]
push eax
push ecx
push edi
push edx
call dword [esp + 0xb0]
mov dword [esp + 0x30], eax
add esp, 0x10
test eax, eax
jl 0x10014955
cmp word [ebx + 0xe], 0x18
je 0x1001485f
mov eax, dword [esp + 0x14]
push eax
push edi
jmp 0x100148d5
mov eax, dword [ebx + 4]
xor ecx, ecx
xor edx, edx
lea eax, [eax + eax*2]
test eax, eax
jle 0x10014882
mov al, byte [edx + edi + 2]
add edx, 3
mov byte [ecx + esi], al
inc ecx
mov eax, dword [ebx + 4]
lea eax, [eax + eax*2]
cmp eax, edx
jg 0x1001486d
xor edx, edx
mov eax, dword [ebx + 4]
lea eax, [eax + eax*2]
test eax, eax
jle 0x100148a3
mov al, byte [edx + edi + 1]
add edx, 3
mov byte [ecx + esi], al
inc ecx
mov eax, dword [ebx + 4]
lea eax, [eax + eax*2]
cmp eax, edx
jg 0x1001488e
xor edx, edx
mov eax, dword [ebx + 4]
lea eax, [eax + eax*2]
test eax, eax
jle 0x100148c3
mov al, byte [edx + edi]
add edx, 3
mov byte [ecx + esi], al
inc ecx
mov eax, dword [ebx + 4]
lea eax, [eax + eax*2]
cmp eax, edx
jg 0x100148af
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
push esi
push ebp
call fcn.10014990
add esp, 0xc
test eax, eax
jl 0x10014976
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp dword [ebx + 8], eax
jne 0x10014827
test byte [0x10047fc4], 1
je 0x10014910
lea eax, [esp + 0x12]
push 1
push eax
push ebp
call fcn.100364d0
add esp, 0xc
lea eax, [esp + 0x12]
push 1
mov word [esp + 0x16], 0xff
push eax
call fcn.100383b0
lea eax, [esp + 0x1a]
add esp, 8
push 2
push eax
push ebp
call fcn.100364d0
add esp, 0xc
push esi
call fcn.10036640
add esp, 4
push edi
call fcn.10036640
add esp, 4
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
push esi
call fcn.10036640
add esp, 4
push edi
call fcn.10036640
mov eax, dword [esp + 0x24]
add esp, 4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x84
ret