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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1dc
mov eax, dword [0x10052004]
xor eax, esp
mov dword [esp + 0x1d8], eax
mov eax, dword [ebp + 0x18]
xor edx, edx
push ebx
mov ebx, ecx
mov dword [esp + 0x24], eax
push esi
mov esi, dword [ebp + 0x10]
xor eax, eax
push edi
movzx ecx, word [ebx + 0x78]
mov edi, dword [ebp + 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x18], ecx
cmp ax, cx
jae 0x10014b3c
movzx eax, dx
lea eax, [eax + eax*2]
lea ecx, [ebx + eax*4]
mov eax, dword [ecx]
cmp edi, eax
jb 0x10014b32
mov ecx, dword [ecx + 8]
add ecx, eax
cmp edi, ecx
jae 0x10014b32
movzx eax, dx
mov edx, edi
lea eax, [eax + eax*2]
sub edx, dword [ebx + eax*4]
lea ecx, [ebx + eax*4]
mov dword [esi], edi
mov eax, dword [ecx + 4]
add eax, edx
mov dword [esi + 4], eax
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x2c]
sub eax, edx
mov dword [esi + 8], eax
xor eax, eax
mov dword [ecx], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1d8]
xor ecx, esp
call fcn.100281a0
mov esp, ebp
pop ebp
ret 0x14
mov ecx, dword [esp + 0x18]
inc edx
cmp dx, cx
jb 0x10014ad7
cmp dword [ebp + 0xc], 0
movzx eax, word [ebx + 0x7c]
mov dword [esp + 0x34], eax
jne 0x10014f52
mov edx, dword [ebx + 0x6c]
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x28], 0xfffffffe
test edx, edx
je 0x10014f27
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, edx
je 0x10014f27
mov edx, dword [ebx + 0x6c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
test edx, edx
je 0x100320e6
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, edx
je 0x100320e6
mov edx, dword [ebx + 0x6c]
test edx, edx
je 0x100320df
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, edx
mov edx, dword [eax + 0x98]
mov eax, dword [eax + 0x9c]
test eax, eax
ja 0x10014f27
jb 0x10014bfd
cmp edx, 0x1000
jae 0x10014f27
cmp dword [ebx + 0x74], 0
je 0x10014f27
mov edx, dword [ebx + 0x70]
test edx, edx
je 0x1003211f
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, edx
add eax, 0x328
mov dword [esp + 0x18], eax
xor eax, eax
cmp ax, cx
jb 0x10014eb5
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x100321b7
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
je 0x100321b7
mov ecx, dword [ebx + 0x70]
test ecx, ecx
je 0x10032151
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [ebx + 0x74]
lea edx, [esp + 0x38]
push edx
push 0
mov dword [esp + 0x2c], ecx
push ecx
lea ecx, [eax + 0x20c]
mov dword [esp + 0x4c], eax
call fcn.1001ef90
mov dword [esp + 0x14], eax
test eax, eax
js 0x10014d6d
mov ecx, dword [esp + 0x38]
xor edx, edx
mov eax, dword [ecx + 0x74]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
movzx ecx, word [ecx + 0x234]
div ecx
mov edx, dword [esp + 0x40]
add edx, 0x20c
mov ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [edx + 8]
test eax, eax
je 0x10032171
mov ecx, dword fs:[0x18]
mov ecx, dword [ecx + 0xf80]
mov ecx, dword [ecx]
add eax, ecx
je 0x1003216d
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x10032158
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x1003216d
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
je 0x1003216d
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x1003215f
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x10032166
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, ecx
dec dword [eax + 0x1c]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test eax, eax
js 0x10014b1b
xor ecx, ecx
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x20]
push eax
mov eax, edi
sub eax, ecx
mov ecx, dword [esp + 0x1c]
inc eax
push eax
push edx
push 0
lea eax, [esp + 0x60]
push eax
call fcn.1001c8d0
mov dword [esp + 0x14], eax
test eax, eax
js 0x10014b1b
jmp 0x10014db0
mov eax, dword [esp + 0x20]
cmp eax, 0x20
ja 0x100321e3
lea eax, [eax + eax*2]
mov edx, dword [esp + eax*4 + 0x44]
lea esi, [esp + eax*4 + 0x44]
add edx, dword [esp + 0x10]
mov ecx, dword [esi + 4]
sub ecx, edx
add ecx, edi
cmp word [ebx + 0x7a], 9
mov dword [esp + 0x28], ecx
mov ecx, esi
mov dword [ecx], edx
jae 0x10014f7f
movzx esi, word [ebx + 0x7a]
lea eax, [esi + esi*2]
inc esi
lea edx, [ebx + eax*4]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov dword [edx + 8], eax
mov dword [edx + 4], ecx
movzx eax, word [ebx + 0x78]
inc word [ebx + 0x7a]
cmp eax, esi
jg 0x10014e0f
mov eax, esi
inc word [ebx + 0x7c]
mov esi, dword [esp + 0x30]
mov word [ebx + 0x78], ax
mov eax, dword [esp + 0x14]
test eax, eax
js 0x10014b1b
mov eax, dword [esp + 0x34]
cmp ax, word [ebx + 0x7c]
je 0x10032235
movzx edx, word [ebx + 0x78]
xor eax, eax
xor ecx, ecx
cmp ax, dx
jae 0x10032235
movzx eax, cx
lea eax, [eax + eax*2]
mov edi, dword [ebx + eax*4]
mov dword [esp + 0x34], edi
mov edi, dword [ebp + 8]
cmp edi, dword [ebx + eax*4]
jb 0x10014eaa
mov eax, dword [ebx + eax*4 + 8]
add eax, dword [esp + 0x34]
cmp edi, eax
jae 0x10014eaa
movzx eax, cx
mov edx, edi
lea eax, [eax + eax*2]
sub edx, dword [ebx + eax*4]
lea ecx, [ebx + eax*4]
mov dword [esi], edi
mov eax, dword [ecx + 4]
add eax, edx
mov dword [esi + 4], eax
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x2c]
sub eax, edx
mov dword [esi + 8], eax
xor eax, eax
pop edi
pop esi
mov dword [ecx], 1
mov ecx, dword [esp + 0x1dc]
pop ebx
xor ecx, esp
call fcn.100281a0
mov esp, ebp
pop ebp
ret 0x14
inc ecx
cmp cx, dx
jb 0x10014e46
jmp 0x10032235
mov edx, ebx
movzx esi, cx
lea ebx, [ebx]
mov eax, dword [edx]
mov ecx, dword [edx + 8]
cmp eax, edi
ja 0x10014f48
lea ebx, [eax - 1]
add ebx, ecx
mov dword [esp + 0x40], ebx
cmp edi, ebx
jbe 0x10032126
mov eax, edi
sub eax, ecx
sub eax, dword [edx]
inc eax
cmp dword [esp + 0x14], eax
jbe 0x10014f48
mov ebx, dword [edx + 4]
dec ecx
add ebx, ecx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ecx
add edx, 0xc
sub esi, 1
jne 0x10014ec0
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
test eax, eax
je 0x10032144
cmp ecx, 0xffffffff
je 0x10014c36
mov edx, dword [esp + 0x1c]
jmp 0x10014d7f
mov edx, dword [ebx + 0x70]
test edx, edx
je 0x10014f8a
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, edx
add eax, 0x23c
jmp 0x10014c27
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x10014efd
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
mov eax, dword [ebp + 0x14]
dec eax
add eax, edi
push eax
call fcn.10014610
test eax, eax
js 0x10014b1b
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
push edi
call fcn.10014610
jmp 0x10014e1f
xor eax, eax
mov word [ebx + 0x7a], ax
jmp 0x10014de6
xor eax, eax
jmp 0x10014f3e
xor eax, eax
jmp 0x10014bdb
mov edx, dword [ebx + 0x70]
test edx, edx
je 0x100320ff
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
add ecx, edx
jmp 0x10032101
xor ecx, ecx
lea eax, [esp + 0x40]
push eax
push dword [ebx + 0x74]
call fcn.1004e703
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
jmp 0x10014be7
xor eax, eax
jmp 0x10014c22
xor ebx, ebx
mov ecx, edi
mov dword [esp + 0x14], ebx
mov ebx, dword [edx + 4]
sub ebx, eax
mov dword [esp + 0x10], ecx
add ebx, edi
xor eax, eax
mov dword [esp + 0x1c], ebx
jmp 0x10014efd
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
jmp 0x10014e27
xor eax, eax
jmp 0x10014c72
xor eax, eax
jmp 0x10014d07
xor eax, eax
jmp 0x10014d47
xor eax, eax
jmp 0x10014d66
mov ecx, dword [esp + 0x10]
mov eax, dword [edx]
mov dword [esp + 0x24], eax
test eax, eax
je 0x1003218f
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov eax, dword [eax]
add eax, dword [esp + 0x24]
jmp 0x10032191
xor eax, eax
lea esi, [esp + 0x3c]
push esi
push ecx
push dword [edx + 0x10]
mov ecx, eax
push edx
call fcn.10037374
mov esi, dword [esp + 0x30]
test eax, eax
js 0x10014d69
mov eax, dword [esp + 0x3c]
jmp 0x10014d66
mov edx, dword [ebx + 0x70]
test edx, edx
je 0x100321d0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf80]
mov ecx, dword [eax]
add ecx, edx
jmp 0x100321d2
xor ecx, ecx
push dword [ebx + 0x74]
call fcn.1001508b
mov edx, eax
xor eax, eax
jmp 0x10014d71
mov ecx, dword [esp + 0x1cc]
mov eax, dword [esp + 0x1c4]
mov edx, dword [esp + 0x10]
add eax, ecx
dec edx
dec ecx
add edx, eax
lea eax, [esp + 0x20]
push eax
mov eax, edi
mov dword [esp + 0x14], edx
sub eax, edx
inc eax
push eax
mov eax, dword [esp + 0x1d0]
add eax, ecx
mov ecx, dword [esp + 0x20]
push eax
push 0
lea eax, [esp + 0x60]
push eax
call fcn.1001c8d0
mov dword [esp + 0x14], eax
test eax, eax
jns 0x10014db0
jmp 0x10014e1f
mov ecx, ebx
call fcn.10037ade
mov ecx, dword [esp + 0x2c]
push ecx
push dword [ebp + 0x14]
mov ecx, eax
push dword [esp + 0x30]
push dword [ebp + 0xc]
push esi
call fcn.1001c8d0
mov dword [esp + 0x14], eax
test eax, eax
js 0x10014b1b
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
test eax, eax
jne 0x10032273
mov eax, 0x8000ffff
jmp 0x10014b1b
lea eax, [eax + eax*2]
add dword [esi + eax*4 - 0xc], edi
mov eax, dword [ecx]
mov ecx, ebx
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*4]
push eax
call fcn.1001425e
mov eax, dword [esp + 0x14]
jmp 0x10014b1b