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

Disassembly:
sub esp, 0x134
mov eax, dword [0x10048200]
xor eax, esp
mov dword [esp + 0x130], eax
cmp dword [0x10049364], 0
mov ecx, dword [esp + 0x138]
push ebx
mov ebx, dword [esp + 0x140]
push esi
mov esi, dword [esp + 0x148]
push edi
mov edi, dword [esp + 0x154]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], edi
je 0x100139e2
mov eax, 0xfffffbd7
jmp 0x100141bf
push ebx
mov dword [0x1006b724], ecx
mov eax, dword [ecx + 0x2c]
push ecx
mov dword [0x1006b2b0], eax
call fcn.100227c0
mov al, byte [ebx + 0x65]
test al, 8
je 0x10013a08
mov eax, 0xfffff8ef
jmp 0x100141bf
push ebp
mov ebp, dword [esp + 0x15c]
test ebp, ebp
jne 0x10013a1e
mov eax, 0xfffffc15
jmp 0x100141be
mov ebx, dword [esp + 0x154]
xor ecx, ecx
test bl, 0x10
mov edx, 1
cmovne ecx, edx
mov dword [esp + 0x48], ecx
test bl, 2
je 0x10013a41
and ebx, 0xfffffff7
or ebx, 5
test al, 4
je 0x100141b9
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
cmp word [eax + 0x28], dx
ja 0x100141b9
push eax
call fcn.1002b350
test eax, eax
js 0x100141be
mov eax, dword [esp + 0x1c]
push 0x1004bb68
push dword [eax]
mov eax, dword [0x1006b2a4]
mov eax, dword [eax + 0xc]
call eax
push esi
lea eax, [esp + 0xbc]
mov dword [esp + 0x34], 0
push eax
call fcn.100181d0
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x10013ab3
mov eax, dword [esp + 0x2c]
mov esi, 0xfffffc16
push dword [eax + 0x10]
call fcn.10029da0
mov eax, esi
jmp 0x100141be
mov cl, byte [edi]
xor edx, edx
mov esi, edi
test cl, cl
je 0x100141a4
mov eax, edx
inc esi
inc edx
mov dword [esp + 0x20], edx
cmp eax, 0xa
je 0x1001418f
cmp cl, 0x2b
je 0x10013ae0
cmp cl, 0x2d
jne 0x100141a4
push esi
lea eax, [esp + 0x100]
push eax
call fcn.100181d0
test eax, eax
je 0x10014161
inc esi
add esi, eax
mov cl, byte [esi]
test cl, cl
je 0x10013b05
mov edx, dword [esp + 0x20]
jmp 0x10013ac1
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x100141a4
sub esi, edi
inc esi
cmp ebp, esi
jne 0x100141a4
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x44]
push eax
push dword [ebp + 0x10]
call fcn.100293c0
mov esi, eax
test esi, esi
js 0x100141a9
test bl, 2
je 0x10013b65
mov eax, dword [esp + 0x44]
xor edx, edx
mov eax, dword [eax]
movzx esi, word [eax]
lea ecx, [eax + 0xc]
test esi, esi
je 0x10013b65
mov edi, edi
test byte [ecx + 4], 0x20
jne 0x10013b9c
movzx eax, byte [ecx + 1]
inc edx
lea ecx, [ecx + eax*8]
add ecx, 0x18
cmp edx, esi
jb 0x10013b50
mov eax, dword [esp + 0x20]
lea edi, [eax*8 + 0x18]
push edi
push dword [0x1004936c]
call fcn.10028ef0
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10013bb4
mov eax, dword [esp + 0x2c]
mov esi, 0xfffffc0d
push dword [eax + 0x10]
call fcn.10029da0
mov eax, esi
jmp 0x100141be
mov eax, dword [esp + 0x2c]
mov esi, 0xfffffa86
push dword [eax + 0x10]
call fcn.10029da0
mov eax, esi
jmp 0x100141be
mov esi, dword [eax]
push edi
push 0
push esi
call fcn.1003d0a0
mov eax, dword [esp + 0x2c]
mov ecx, ebx
mov byte [esi + 1], al
add esp, 0xc
shr ecx, 3
mov eax, ebx
and ecx, 1
shr eax, 2
and eax, 1
add ecx, ecx
or ecx, eax
mov eax, ebx
and eax, 1
shr ebx, 1
add ecx, ecx
and ebx, 1
or ecx, eax
mov eax, dword [esi + 4]
add ecx, ecx
and eax, 0xfffffe1f
or ecx, ebx
lea ebx, [esp + 0x68]
shl ecx, 5
or ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x34], ecx
mov ebp, dword [eax + 0x14]
mov eax, dword [ebp + 0x110]
mov dword [esp + 0x58], eax
lea eax, [esi + 0x18]
mov dword [esp + 0x4c], eax
mov edi, eax
mov eax, dword [esp + 0x24]
mov dl, byte [eax]
mov byte [esp + 0x13], dl
test dl, dl
je 0x10013db1
inc eax
push eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x100]
push eax
call fcn.100181d0
mov ecx, eax
mov dword [esp + 0x38], ecx
test ecx, ecx
je 0x10013e78
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x18]
push eax
movzx eax, word [ebp + 0xec]
push 0
push 0
push eax
push ecx
lea eax, [esp + 0x114]
push eax
push dword [esp + 0x50]
push dword [esp + 0x78]
call fcn.10018490
mov esi, eax
test esi, esi
js 0x10014131
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10013e5b
lea ecx, [esp + 0x18]
push ecx
push dword [ebp + 0x64]
push eax
call fcn.1000d810
movzx eax, byte [eax]
mov dword [esp + 0x5c], eax
mov byte [edi + 4], al
cmp eax, 0xb
je 0x10013e34
cmp eax, 0xc
je 0x10013e34
lea eax, [esp + 0x18]
push eax
push dword [ebp + 0x78]
push dword [esp + 0x1c]
call fcn.1000d810
mov ecx, dword [eax]
mov eax, dword [esp + 0x4c]
mov dword [edi], ecx
cmp eax, edi
je 0x10013cef
nop
cmp dword [eax], ecx
je 0x10013e03
add eax, 8
cmp eax, edi
jne 0x10013ce0
cmp byte [esp + 0x13], 0x2d
jne 0x10013cff
mov eax, 0x8000
or word [edi + 6], ax
lea eax, [esp + 0x18]
push eax
push dword [ebp + 0x68]
push dword [esp + 0x1c]
call fcn.1000d810
test eax, eax
je 0x10013d17
mov ax, word [eax]
mov word [ebx], ax
lea eax, [esp + 0x18]
push eax
push dword [ebp + 0x7c]
push dword [esp + 0x1c]
call fcn.1000d810
test eax, eax
je 0x10013d32
mov ax, word [eax]
mov word [ebx + 2], ax
lea eax, [esp + 0x18]
push eax
push dword [ebp + 0x60]
push dword [esp + 0x1c]
call fcn.1000d810
test eax, eax
je 0x10013d4e
mov ax, word [eax]
cmp word [esp + 0x5c], 0xa
mov word [ebx + 4], ax
jne 0x10013d90
movzx eax, ax
push eax
movzx eax, word [ebx + 2]
push eax
movzx eax, word [ebx]
push eax
call fcn.1002b690
test byte [ebp + 0x120], 0x80
je 0x10013d83
cmp al, 4
je 0x10013d81
cmp al, 5
je 0x10013d81
cmp al, 6
jne 0x10013d83
mov al, 1
cmp byte [edi + 5], 0xff
je 0x10013e0d
mov byte [edi + 5], al
mov eax, dword [esp + 0x24]
add edi, 8
inc eax
add ebx, 8
add eax, dword [esp + 0x38]
mov cl, byte [eax]
mov byte [esp + 0x13], cl
test cl, cl
jne 0x10013c35
mov ecx, dword [esp + 0x34]
mov edi, dword [ebp + 0x114]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x54]
mov dword [esp + 0x3c], edi
push eax
movzx eax, word [ebp + 0xee]
push 0
push 0
push eax
push dword [esp + 0x50]
lea eax, [esp + 0xd0]
push eax
push ecx
push edi
call fcn.10018490
mov esi, eax
test esi, esi
js 0x10014131
cmp dword [esp + 0x50], 0
je 0x10013e82
mov esi, 0xfffffa85
jmp 0x10014131
mov esi, 0xfffffa82
jmp 0x10014131
mov edi, dword [esp + 0x24]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push edi
push dword [esp + 0x38]
call fcn.1003ceb0
mov esi, 0xfffffbd8
jmp 0x10014131
mov edi, dword [esp + 0x24]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push edi
push dword [esp + 0x38]
call fcn.1003ceb0
mov esi, 0xfffffa17
jmp 0x10014131
mov edi, dword [esp + 0x24]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push edi
push dword [esp + 0x38]
call fcn.1003ceb0
mov esi, 0xfffffa1d
jmp 0x10014131
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
push 1
push 0
push dword [esi]
push dword [ebx + 0x10]
push ebp
call fcn.1001b050
push dword [esp + 0x1c]
movzx eax, ax
mov ecx, 0xff
mov dword [esp + 0x44], eax
cmp ax, cx
jne 0x10013edf
call fcn.100228d0
test eax, eax
js 0x100141be
lea eax, [esp + 0x40]
mov dword [esp + 0x30], 1
push eax
push dword [esi]
push dword [ebx + 0x10]
push ebp
call fcn.10019a10
mov esi, eax
test esi, esi
js 0x10014131
jmp 0x10013ef4
call fcn.100228d0
test eax, eax
js 0x100141be
mov dword [esp + 0x30], 1
push 0x800
call fcn.1003a360
mov ebx, eax
test ebx, ebx
jne 0x10013f0e
mov esi, 0xfffffc0d
jmp 0x10014131
push ebx
push edi
call fcn.1002dd00
mov esi, eax
test esi, esi
js 0x10014123
push 4
lea eax, [esp + 0x38]
push eax
push dword [ebp + 0xb4]
lea edi, [ebx + 4]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10014123
push dword [esp + 0x3c]
lea eax, [esp + 0xbc]
push eax
push dword [ebp + 0xb0]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10014123
push 2
lea eax, [esp + 0x44]
push eax
push dword [ebp + 0xa4]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10014123
push 1
lea eax, [esp + 0x58]
mov dword [esp + 0x58], 0
push eax
push dword [ebp + 0xbc]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10014123
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x1f
push eax
push dword [ebp + 0xa0]
push edi
call fcn.1000d260
mov esi, eax
test esi, esi
js 0x10014123
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x1a
sar eax, 0x1f
push eax
push dword [ebp + 0x9c]
push edi
call fcn.1000d260
mov esi, eax
test esi, esi
js 0x10014123
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x18
sar eax, 0x1f
push eax
push dword [ebp + 0x90]
push edi
call fcn.1000d260
mov esi, eax
test esi, esi
js 0x10014123
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x17
sar eax, 0x1f
push eax
push dword [ebp + 0x98]
push edi
call fcn.1000d260
mov esi, eax
test esi, esi
js 0x10014123
mov eax, dword [esp + 0x20]
shl eax, 3
push eax
mov eax, dword [esp + 0x18]
add eax, 0x18
push eax
push dword [ebp + 0xc0]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10014123
mov ecx, dword [esp + 0x20]
lea eax, [ecx*8]
push eax
lea eax, [esp + 0x6c]
push eax
push dword [ebp + 0xc8]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10014123
push dword [esp + 0x28]
push dword [0x1004936c]
call fcn.1003a290
push 0
push edi
push dword [esp + 0x40]
mov dword [esp + 0x34], 0
call fcn.1002ef10
mov esi, eax
test esi, esi
js 0x10014123
push ebx
call fcn.1003a2e0
push dword [esp + 0x34]
push ebp
call fcn.10018050
mov esi, eax
test esi, esi
js 0x1001414c
push 1
push dword [esp + 0x20]
call fcn.100229e0
mov esi, eax
test esi, esi
js 0x1001414c
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x30], 0
push dword [ebx + 0x10]
call fcn.10029da0
mov eax, dword [0x1006b724]
cmp dword [eax + 0x28], 0
jbe 0x10014113
mov ecx, dword [ebx + 0x10]
cmp dword [ecx + 0x44], 0
jne 0x10014113
mov dword [ecx + 0x44], eax
mov eax, dword [0x1006b724]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 0x28]
mov dword [ecx + 0x48], eax
mov esi, dword [esp + 0x48]
neg esi
sbb esi, esi
and esi, 0x1393
jmp 0x10014129
push ebx
call fcn.1003a2e0
test esi, esi
jns 0x100141b5
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10014145
push eax
push dword [0x1004936c]
call fcn.1003a290
cmp dword [esp + 0x30], 0
je 0x100141a9
call fcn.10024620
mov eax, dword [esp + 0x2c]
push dword [eax + 0x10]
call fcn.10029da0
mov eax, esi
jmp 0x100141be
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push esi
push dword [esp + 0x38]
call fcn.1003ceb0
mov eax, dword [esp + 0x2c]
mov esi, 0xfffffa1d
push dword [eax + 0x10]
call fcn.10029da0
mov eax, esi
jmp 0x100141be
mov eax, dword [esp + 0x2c]
mov esi, 0xfffffc08
push dword [eax + 0x10]
call fcn.10029da0
mov eax, esi
jmp 0x100141be
mov esi, 0xfffffc15
mov eax, dword [esp + 0x2c]
push dword [eax + 0x10]
call fcn.10029da0
mov eax, esi
jmp 0x100141be
mov eax, 0xfffffae3
pop ebp
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1003d130
add esp, 0x134
ret 0x1c