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

Disassembly:
sub esp, 0x25c
mov eax, dword [0x10049200]
xor eax, esp
mov dword [esp + 0x258], eax
cmp dword [0x1004a364], 0
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x264]
push ebx
mov ebx, dword [esp + 0x26c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x274]
push esi
mov esi, dword [esp + 0x268]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x20], esi
mov dword [esp + 8], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x58], 0
mov byte [esp + 0xe], 0
mov byte [esp + 0xf], 0
je 0x10015069
mov eax, 0xfffffbd7
jmp 0x10016078
mov dword [0x1006c724], esi
mov eax, dword [esi + 0x2c]
mov dword [0x1006c2b0], eax
mov eax, dword [ecx + 0x10]
push ebp
mov ebp, dword [eax + 0x14]
mov dword [esp + 0x14], ebp
mov eax, dword [ebp + 0x120]
test al, al
js 0x10015097
test eax, 0x800
jne 0x10015097
xor eax, eax
jmp 0x1001509c
mov eax, 1
push edi
mov edi, dword [esp + 0x288]
mov dword [esp + 0x6c], eax
test edi, 0x10000
je 0x100150b6
and edi, 0xfffeffff
test eax, eax
je 0x100150cc
test edi, 0xfffffffc
je 0x1001510c
mov eax, 0xfffffc15
jmp 0x10016076
test edi, 0xffff00fc
jne 0x100150c2
mov eax, edi
and eax, 0xf00
je 0x100150eb
cmp eax, 0x100
jne 0x100150c2
mov byte [esp + 0x16], 1
jmp 0x100150f0
mov byte [esp + 0x16], 0
mov eax, edi
and eax, 0xf000
je 0x10015107
cmp eax, 0x1000
jne 0x100150c2
mov byte [esp + 0x17], 1
jmp 0x1001510c
mov byte [esp + 0x17], 0
mov eax, edi
shr eax, 1
push ecx
and eax, 1
push esi
mov dword [esp + 0x78], eax
call fcn.10023480
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x65]
test al, 8
je 0x10015133
mov eax, 0xfffff8ef
jmp 0x10016076
test al, 4
je 0x10016071
mov eax, dword [ecx + 0x10]
cmp word [eax + 0x28], 1
ja 0x10016071
push eax
call fcn.1002c050
test eax, eax
js 0x10016076
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
cmp word [eax + 0x54], 0
jne 0x10015173
push eax
call fcn.1002bb30
test eax, eax
js 0x10016076
mov eax, dword [0x1006c2a4]
push 0x1004cb68
push dword [esi]
mov eax, dword [eax + 0xc]
call eax
push esi
call fcn.10023590
test eax, eax
js 0x10016076
xor eax, eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x64], eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], 0
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x50]
push eax
push 0
lea eax, [esp + 0x12c]
push eax
push dword [esp + 0x88]
push ebp
call fcn.100194e0
mov esi, eax
test esi, esi
js 0x10015665
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x38]
jne 0x100151f7
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x20], eax
jmp 0x10015214
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x24]
push ecx
push 6
push eax
push ebp
call fcn.1002a290
mov esi, eax
test esi, esi
js 0x10015665
push ebx
lea eax, [esp + 0x128]
push eax
call fcn.10018e30
mov dword [esp + 0x74], eax
test eax, eax
jne 0x10015234
mov esi, 0xfffffc16
jmp 0x10015665
mov eax, dword [esp + 0x2c]
xor ebx, ebx
mov esi, eax
cmp byte [eax], bl
je 0x10015660
mov eax, ebx
inc ebx
mov dword [esp + 0x48], ebx
cmp eax, 0xa
je 0x1001572f
push esi
lea eax, [esp + 0xe4]
push eax
call fcn.10018e30
test eax, eax
je 0x100155a3
inc esi
add esi, eax
cmp byte [esi], 0
jne 0x10015244
test ebx, ebx
je 0x10015660
mov eax, dword [esp + 0x10]
push 0
push dword [eax + 0x10]
call fcn.1002a0b0
mov esi, eax
test esi, esi
js 0x10015665
lea eax, [ebx*8 + 0x18]
push eax
push dword [0x1004a36c]
call fcn.10029be0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x100152b9
mov esi, 0xfffffc0d
jmp 0x10015665
mov esi, dword [ecx]
lea eax, [ebx*8 + 0x18]
push eax
push 0
push esi
call fcn.1003dd70
movzx eax, di
add esp, 0xc
shl eax, 6
xor eax, dword [esi + 4]
and eax, 0x40
mov byte [esi + 1], bl
xor dword [esi + 4], eax
lea ebx, [esp + 0x90]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esi + 8], eax
movzx eax, byte [esp + 0x16]
mov byte [esi + 0xe], al
movzx eax, byte [esp + 0x17]
mov byte [esi + 0xf], al
mov eax, dword [ebp + 0x110]
mov dword [esp + 0x58], eax
lea eax, [esi + 0x18]
mov esi, dword [esp + 0x2c]
mov edi, eax
mov dword [esp + 0x88], eax
cmp byte [esi], 0
je 0x100154a6
push esi
lea eax, [esp + 0xe4]
push eax
call fcn.10018e30
mov ecx, eax
mov dword [esp + 0x54], ecx
test ecx, ecx
je 0x100155a3
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x38]
push eax
movzx eax, word [ebp + 0xec]
push 0
push 0
push eax
push ecx
lea eax, [esp + 0xf8]
push eax
push dword [esp + 0x54]
push dword [esp + 0x78]
call fcn.100190f0
mov esi, eax
test esi, esi
js 0x10015665
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1001557c
lea ecx, [esp + 0x1c]
push ecx
push dword [ebp + 0x64]
push eax
call fcn.1000e470
movzx eax, byte [eax]
mov dword [esp + 0x5c], eax
mov byte [edi + 4], al
cmp eax, 0xb
je 0x10015555
cmp eax, 0xc
je 0x10015555
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x78]
push dword [esp + 0x3c]
call fcn.1000e470
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov dword [edi], ecx
mov eax, dword [eax + 0x10]
cmp ecx, dword [eax + 0x34]
je 0x100153d5
cmp ecx, dword [eax + 0x30]
jne 0x100153e0
cmp byte [esp + 0x16], 1
je 0x1001552e
mov eax, dword [esp + 0x88]
cmp eax, edi
je 0x100153ff
jmp 0x100153f0
cmp dword [eax], ecx
je 0x10015984
add eax, 8
cmp eax, edi
jne 0x100153f0
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x68]
push dword [esp + 0x3c]
call fcn.1000e470
test eax, eax
je 0x10015417
mov ax, word [eax]
mov word [ebx], ax
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x7c]
push dword [esp + 0x3c]
call fcn.1000e470
test eax, eax
je 0x10015432
mov ax, word [eax]
mov word [ebx + 2], ax
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x60]
push dword [esp + 0x3c]
call fcn.1000e470
test eax, eax
je 0x1001544e
mov ax, word [eax]
cmp word [esp + 0x5c], 0xa
mov word [ebx + 4], ax
jne 0x1001548a
movzx eax, ax
push eax
movzx eax, word [ebx + 2]
push eax
movzx eax, word [ebx]
push eax
call fcn.1002c390
test byte [ebp + 0x120], 0x80
je 0x10015483
cmp al, 4
je 0x10015481
cmp al, 5
je 0x10015481
cmp al, 6
jne 0x10015483
mov al, 1
mov byte [edi + 5], al
cmp al, 0xff
je 0x10015507
mov esi, dword [esp + 0x2c]
add edi, 8
inc esi
add ebx, 8
add esi, dword [esp + 0x54]
mov dword [esp + 0x2c], esi
cmp byte [esi], 0
jne 0x10015327
mov ecx, dword [ebp + 0x114]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x84]
mov dword [esp + 0x38], ecx
push eax
movzx eax, word [ebp + 0xee]
push 0
push 0
push eax
push dword [esp + 0x88]
lea eax, [esp + 0x13c]
push eax
push dword [esp + 0x54]
push ecx
call fcn.100190f0
mov esi, eax
test esi, esi
js 0x10015665
cmp dword [esp + 0x80], 0
je 0x100155c6
mov esi, 0xfffffa85
jmp 0x10015665
mov eax, dword [esp + 0x2c]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push eax
push dword [esp + 0x44]
call fcn.1003db80
mov esi, 0xfffffbd8
jmp 0x10015665
mov eax, dword [esp + 0x2c]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push eax
push dword [esp + 0x44]
call fcn.1003db80
mov esi, 0xfffffbe8
jmp 0x10015665
mov eax, dword [esp + 0x2c]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push eax
push dword [esp + 0x44]
call fcn.1003db80
mov esi, 0xfffffa17
jmp 0x10015665
mov eax, dword [esp + 0x2c]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push eax
push dword [esp + 0x44]
call fcn.1003db80
mov esi, 0xfffffa1d
jmp 0x10015665
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push esi
push dword [esp + 0x44]
call fcn.1003db80
mov esi, 0xfffffa1d
jmp 0x10015665
mov eax, dword [esp + 0x24]
push 1
push 1
push dword [eax]
mov eax, dword [esp + 0x1c]
push dword [eax + 0x10]
push ebp
call fcn.1001bcd0
movzx eax, ax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x100156cd
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x24]
call fcn.1002a0b0
mov esi, eax
test esi, esi
js 0x10015665
mov eax, dword [esp + 0x54]
xor edx, edx
mov eax, dword [eax]
movzx esi, word [eax]
lea ecx, [eax + 0xc]
mov dword [esp + 0x44], 0xff
test esi, esi
je 0x1001583f
test byte [ecx + 4], 0x20
jne 0x1001563e
movzx eax, byte [ecx + 1]
inc edx
lea ecx, [ecx + eax*8]
add ecx, 0x18
cmp edx, esi
jb 0x10015622
mov esi, 0xfffffa84
jmp 0x10015665
movzx edx, byte [ecx]
mov ebx, 0xff
mov dword [esp + 0x44], edx
cmp dx, bx
je 0x1001583f
mov eax, dword [esp + 0x48]
cmp byte [ecx + 1], al
je 0x100158c7
mov esi, 0xfffffc15
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x38]
je 0x10015680
push dword [esp + 0x60]
push dword [esp + 0x24]
call fcn.1002a040
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10015694
push eax
push dword [0x1004a36c]
call fcn.1003af60
mov eax, dword [esp + 0x64]
test eax, eax
je 0x100156a8
push eax
push dword [0x1004a36c]
call fcn.1003af60
push dword [esp + 0x40]
call fcn.10012040
test eax, eax
js 0x10016076
call fcn.100252f0
push dword [ebp + 0x10]
call fcn.1002aa90
mov eax, esi
jmp 0x10016076
xor edi, edi
mov esi, eax
cmp byte [eax], 0
je 0x100156fc
mov eax, edi
inc edi
cmp eax, 0xa
je 0x1001572f
push esi
lea eax, [esp + 0xe4]
push eax
call fcn.10018e30
test eax, eax
je 0x100155a3
inc esi
add esi, eax
cmp byte [esi], 0
jne 0x100156d6
mov ebx, dword [esp + 0x48]
cmp edi, ebx
jne 0x10015660
lea esi, [ebx*8 + 0x18]
push esi
push dword [0x1004a36c]
call fcn.10029be0
mov edi, eax
mov dword [esp + 0x64], edi
test edi, edi
jne 0x10015739
mov esi, 0xfffffc0d
jmp 0x10015665
mov esi, 0xfffffc08
jmp 0x10015665
mov eax, dword [edi]
push esi
push 0
push eax
mov dword [esp + 0x3c], eax
call fcn.1003dd70
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov esi, dword [esp + 0x4c]
mov byte [eax + 1], bl
mov eax, dword [esp + 0x30]
or dword [eax + 4], 0x40
mov ebx, dword [esp + 0x30]
add ebx, 0x18
cmp byte [esi], 0
je 0x10015809
mov edi, edi
push esi
lea eax, [esp + 0xe4]
push eax
call fcn.10018e30
mov edi, eax
test edi, edi
je 0x100155a3
lea eax, [esp + 0x78]
inc esi
push eax
lea eax, [esp + 0x30]
add esi, edi
push eax
movzx eax, word [ebp + 0xec]
push 0
push 0
push eax
push edi
lea eax, [esp + 0xf8]
mov dword [esp + 0x64], esi
push eax
push dword [esp + 0x6c]
push dword [esp + 0x78]
call fcn.100190f0
mov esi, eax
test esi, esi
js 0x10015665
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10015849
lea ecx, [esp + 0x1c]
push ecx
push dword [ebp + 0x64]
push eax
call fcn.1000e470
mov al, byte [eax]
mov byte [ebx + 4], al
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x78]
push dword [esp + 0x34]
call fcn.1000e470
mov esi, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [ebx], eax
add ebx, 8
cmp byte [esi], 0
jne 0x10015770
mov edi, dword [esp + 0x64]
push 0
push dword [esp + 0x24]
call fcn.1002a0b0
mov esi, eax
test esi, esi
js 0x10015665
push 0
push 1
push dword [edi]
push dword [esp + 0x2c]
push ebp
call fcn.1001bcd0
movzx eax, ax
mov ecx, 0xff
mov dword [esp + 0x44], eax
cmp ax, cx
jne 0x10015884
mov esi, 0xfffffa84
jmp 0x10015665
mov esi, 0xfffffa1d
cmp edi, 0x42
jae 0x10016091
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
lea eax, [esp + 0xf8]
mov byte [esp + edi + 0xf8], 0
push eax
push dword [esp + 0x44]
call fcn.1003db80
jmp 0x10015665
lea ecx, [esp + 0x54]
push ecx
push eax
push dword [esp + 0x28]
call fcn.10025290
mov esi, eax
test esi, esi
js 0x10015665
mov eax, dword [esp + 0x54]
test byte [eax + 4], 2
jne 0x100158b1
mov esi, 0xfffffa84
jmp 0x10015665
push edi
push dword [0x1004a36c]
call fcn.1003af60
mov edx, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x50]
jne 0x100158e2
cmp word [esp + 0x3c], dx
jne 0x100158e2
mov esi, 0xfffffa81
jmp 0x10015665
lea eax, [esp + 0x30]
push eax
push edx
push dword [esp + 0x28]
call fcn.10025290
mov esi, eax
test esi, esi
js 0x10015665
mov ecx, dword [esp + 0x24]
xor edi, edi
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov ebx, dword [ecx]
mov dword [esp + 0x4c], ebx
test eax, eax
je 0x10015980
mov ebp, 0xffffffe2
lea edx, [ebx + 0x1e]
sub ebp, ebx
lea ecx, [ecx]
mov eax, dword [esp + 0x30]
lea ecx, [edx + ebp]
add ecx, eax
mov al, byte [edx - 2]
cmp al, byte [ecx + 0x1c]
jne 0x10015970
cmp al, 0xa
jne 0x1001593d
mov al, byte [edx - 1]
cmp al, byte [ecx + 0x1d]
jne 0x10015970
movzx ecx, word [ecx + 0x1e]
movzx ebx, word [edx]
mov eax, ecx
xor eax, ebx
test eax, 0x8000
je 0x10015966
mov eax, ecx
mov esi, 0xff
xor eax, ebx
and eax, 0x7fff
xor eax, ecx
mov word [edx], ax
mov dword [esp + 0x3c], esi
inc edi
add edx, 8
cmp edi, dword [esp + 0x48]
jb 0x10015920
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
cmp edi, eax
je 0x1001598e
mov esi, 0xfffffa82
jmp 0x10015665
mov edi, 0xff
cmp si, di
jne 0x100159dd
mov eax, dword [esp + 0x10]
push 1
push 1
push dword [ecx]
push dword [eax + 0x10]
push ebp
call fcn.1001bcd0
movzx esi, ax
mov dword [esp + 0x3c], esi
cmp si, di
jne 0x100159dd
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x28]
push dword [eax]
mov eax, dword [esp + 0x18]
push dword [eax + 0x10]
push ebp
call fcn.1001a690
mov esi, eax
test esi, esi
js 0x10015665
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x70], 0
jne 0x10015b76
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x40]
push eax
push 1
push esi
push dword [ebp + 0x10]
call fcn.100106e0
mov esi, eax
test esi, esi
js 0x10015669
lea eax, [esp + 0x58]
push eax
push 2
push dword [esp + 0x48]
call fcn.100111f0
mov esi, eax
test esi, esi
js 0x10015669
mov edi, 0xffff
cmp dword [esp + 0x58], 0
je 0x10015b53
push 0x100
lea eax, [esp + 0x16d]
push eax
push dword [esp + 0x48]
call fcn.10010530
mov byte [esp + 0x168], al
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x16c]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x2c]
call fcn.100105c0
mov esi, eax
test esi, esi
js 0x10015669
cmp dword [esp + 0x84], 0
jne 0x10015aec
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x48]
call fcn.10010ca0
mov esi, eax
test esi, esi
js 0x10015669
mov eax, dword [esp + 0x40]
mov byte [esp + 0x168], 0
mov eax, dword [eax]
mov eax, dword [eax + 0x120]
test al, al
js 0x10015abe
test eax, 0x800
jne 0x10015abe
xor eax, eax
jmp 0x10015ac3
mov eax, 1
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x170]
push eax
push ebx
push dword [esp + 0x6c]
call fcn.1002cb60
mov esi, eax
test esi, esi
js 0x10015669
cmp di, word [esp + 0x1c]
je 0x10015b0b
lea eax, [esp + 0x58]
push eax
push 2
push dword [esp + 0x48]
call fcn.100111f0
mov esi, eax
test esi, esi
jns 0x10015a25
jmp 0x10015669
push 1
push 0x41
lea eax, [esp + 0xe8]
push eax
push ebp
push dword [esp + 0x38]
call fcn.10021230
push 0
push 0
push 0
push 0xffffe01b
push 0
push dword [esp + 0x90]
lea eax, [esp + 0xf8]
push eax
mov eax, dword [0x1006c724]
push dword [eax]
call fcn.1003db80
mov esi, 0xfffff9b3
jmp 0x10015669
test esi, esi
js 0x10015669
push dword [esp + 0x40]
call fcn.10011fa0
mov esi, eax
test esi, esi
js 0x10015669
mov dword [esp + 0x40], 0
push 0x800
call fcn.1003b030
mov ebp, eax
test ebp, ebp
jne 0x10015b90
mov esi, 0xfffffc0d
jmp 0x10015665
push ebp
push dword [esp + 0x38]
call fcn.1002ea00
mov esi, eax
test esi, esi
js 0x10016066
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x38]
push 4
push eax
lea edi, [ebp + 4]
push dword [ebx + 0xb4]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push dword [esp + 0x74]
lea eax, [esp + 0x128]
push eax
push dword [ebx + 0xb0]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 2
lea eax, [esp + 0x40]
push eax
push dword [ebx + 0xa4]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 1
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 1
push eax
push dword [ebx + 0xbc]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x1f
push eax
push dword [ebx + 0xa0]
push edi
call fcn.1000dec0
mov esi, eax
test esi, esi
js 0x10016066
mov eax, dword [esp + 0x48]
lea ebx, [eax*8]
mov eax, dword [esp + 0x5c]
push ebx
add eax, 0x18
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xc0]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push ebx
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xc8]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 4
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xb8]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 2
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xa8]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x48]
push dword [esp + 0x28]
call fcn.10025290
mov esi, eax
test esi, esi
js 0x10016066
mov eax, dword [esp + 0x30]
push ebx
add eax, 0x18
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xc4]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push ebx
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xcc]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
mov eax, dword [esp + 0x18]
push dword [esp + 0x70]
push dword [eax + 0x94]
push edi
call fcn.1000dec0
mov esi, eax
test esi, esi
js 0x10016066
cmp dword [esp + 0x6c], 0
jne 0x10015db2
push 1
lea eax, [esp + 0x1a]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xd0]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 1
lea eax, [esp + 0x1b]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0x8c]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 0
push edi
push dword [esp + 0x3c]
call fcn.1002fbe0
mov esi, eax
test esi, esi
js 0x10016066
push ebp
push dword [esp + 0x38]
call fcn.1002ea00
mov esi, eax
test esi, esi
js 0x10016066
push 4
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xb4]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 2
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xa4]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 1
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 2
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xbc]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x48]
push dword [esp + 0x28]
call fcn.10025290
mov esi, eax
test esi, esi
js 0x10016066
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x1f
push eax
mov eax, dword [esp + 0x1c]
push dword [eax + 0xa0]
push edi
call fcn.1000dec0
mov esi, eax
test esi, esi
js 0x10016066
mov eax, dword [esp + 0x30]
push ebx
add eax, 0x18
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xc0]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push ebx
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xc8]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 4
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xb8]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 2
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xa8]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
mov eax, dword [esp + 0x24]
push ebx
mov eax, dword [eax]
add eax, 0x18
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xc4]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push ebx
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x94]
push eax
push dword [ebx + 0xcc]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push dword [esp + 0x70]
push dword [ebx + 0x94]
push edi
call fcn.1000dec0
mov esi, eax
test esi, esi
js 0x10016066
cmp dword [esp + 0x6c], 0
jne 0x10015fb6
push 1
lea eax, [esp + 0x1a]
push eax
push dword [ebx + 0xd0]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 1
lea eax, [esp + 0x1b]
push eax
push dword [ebx + 0x8c]
push edi
call fcn.1000df90
mov esi, eax
test esi, esi
js 0x10016066
push 0
push edi
push dword [esp + 0x3c]
call fcn.1002fbe0
mov esi, eax
test esi, esi
js 0x10016066
push ebp
call fcn.1003afb0
push dword [esp + 0x24]
push dword [0x1004a36c]
call fcn.1003af60
push dword [esp + 0x38]
mov dword [esp + 0x28], 0
push ebx
call fcn.10018cb0
mov esi, eax
test esi, esi
js 0x10016066
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x38]
je 0x10016010
push dword [esp + 0x60]
push dword [esp + 0x24]
call fcn.10029da0
push 1
push dword [esp + 0x2c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x68], 0
call fcn.100236a0
mov esi, eax
test esi, esi
js 0x10016066
mov ebx, dword [esp + 0x10]
push dword [ebx + 0x10]
call fcn.1002aa90
mov eax, dword [0x1006c724]
cmp dword [eax + 0x28], 0
jbe 0x10016062
mov ecx, dword [ebx + 0x10]
cmp dword [ecx + 0x44], 0
jne 0x10016062
mov dword [ecx + 0x44], eax
mov eax, dword [0x1006c724]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 0x28]
mov dword [ecx + 0x48], eax
xor eax, eax
jmp 0x10016076
push ebp
call fcn.1003afb0
jmp 0x10015665
mov eax, 0xfffffae3
pop edi
pop ebp
mov ecx, dword [esp + 0x260]
pop esi
pop ebx
xor ecx, esp
call fcn.1003de00
add esp, 0x25c
ret 0x1c
call fcn.1003ec5c
int3