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

Disassembly:
sub esp, 0x25c
mov eax, dword [0x10048200]
xor eax, esp
mov dword [esp + 0x258], eax
cmp dword [0x10049364], 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 0x10014409
mov eax, 0xfffffbd7
jmp 0x10015418
mov dword [0x1006b724], esi
mov eax, dword [esi + 0x2c]
mov dword [0x1006b2b0], 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 0x10014437
test eax, 0x800
jne 0x10014437
xor eax, eax
jmp 0x1001443c
mov eax, 1
push edi
mov edi, dword [esp + 0x288]
mov dword [esp + 0x6c], eax
test edi, 0x10000
je 0x10014456
and edi, 0xfffeffff
test eax, eax
je 0x1001446c
test edi, 0xfffffffc
je 0x100144ac
mov eax, 0xfffffc15
jmp 0x10015416
test edi, 0xffff00fc
jne 0x10014462
mov eax, edi
and eax, 0xf00
je 0x1001448b
cmp eax, 0x100
jne 0x10014462
mov byte [esp + 0x16], 1
jmp 0x10014490
mov byte [esp + 0x16], 0
mov eax, edi
and eax, 0xf000
je 0x100144a7
cmp eax, 0x1000
jne 0x10014462
mov byte [esp + 0x17], 1
jmp 0x100144ac
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.100227c0
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 0x65]
test al, 8
je 0x100144d3
mov eax, 0xfffff8ef
jmp 0x10015416
test al, 4
je 0x10015411
mov eax, dword [ecx + 0x10]
cmp word [eax + 0x28], 1
ja 0x10015411
push eax
call fcn.1002b350
test eax, eax
js 0x10015416
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
cmp word [eax + 0x54], 0
jne 0x10014513
push eax
call fcn.1002ae30
test eax, eax
js 0x10015416
mov eax, dword [0x1006b2a4]
push 0x1004bb68
push dword [esi]
mov eax, dword [eax + 0xc]
call eax
push esi
call fcn.100228d0
test eax, eax
js 0x10015416
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.10018880
mov esi, eax
test esi, esi
js 0x10014a05
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x38]
jne 0x10014597
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x20], eax
jmp 0x100145b4
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x24]
push ecx
push 6
push eax
push ebp
call fcn.100295a0
mov esi, eax
test esi, esi
js 0x10014a05
push ebx
lea eax, [esp + 0x128]
push eax
call fcn.100181d0
mov dword [esp + 0x74], eax
test eax, eax
jne 0x100145d4
mov esi, 0xfffffc16
jmp 0x10014a05
mov eax, dword [esp + 0x2c]
xor ebx, ebx
mov esi, eax
cmp byte [eax], bl
je 0x10014a00
mov eax, ebx
inc ebx
mov dword [esp + 0x48], ebx
cmp eax, 0xa
je 0x10014acf
push esi
lea eax, [esp + 0xe4]
push eax
call fcn.100181d0
test eax, eax
je 0x10014943
inc esi
add esi, eax
cmp byte [esi], 0
jne 0x100145e4
test ebx, ebx
je 0x10014a00
mov eax, dword [esp + 0x10]
push 0
push dword [eax + 0x10]
call fcn.100293c0
mov esi, eax
test esi, esi
js 0x10014a05
lea eax, [ebx*8 + 0x18]
push eax
push dword [0x1004936c]
call fcn.10028ef0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x10014659
mov esi, 0xfffffc0d
jmp 0x10014a05
mov esi, dword [ecx]
lea eax, [ebx*8 + 0x18]
push eax
push 0
push esi
call fcn.1003d0a0
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 0x10014846
push esi
lea eax, [esp + 0xe4]
push eax
call fcn.100181d0
mov ecx, eax
mov dword [esp + 0x54], ecx
test ecx, ecx
je 0x10014943
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.10018490
mov esi, eax
test esi, esi
js 0x10014a05
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1001491c
lea ecx, [esp + 0x1c]
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 0x100148f5
cmp eax, 0xc
je 0x100148f5
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x78]
push dword [esp + 0x3c]
call fcn.1000d810
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
mov dword [edi], ecx
mov eax, dword [eax + 0x10]
cmp ecx, dword [eax + 0x34]
je 0x10014775
cmp ecx, dword [eax + 0x30]
jne 0x10014780
cmp byte [esp + 0x16], 1
je 0x100148ce
mov eax, dword [esp + 0x88]
cmp eax, edi
je 0x1001479f
jmp 0x10014790
cmp dword [eax], ecx
je 0x10014d24
add eax, 8
cmp eax, edi
jne 0x10014790
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x68]
push dword [esp + 0x3c]
call fcn.1000d810
test eax, eax
je 0x100147b7
mov ax, word [eax]
mov word [ebx], ax
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x7c]
push dword [esp + 0x3c]
call fcn.1000d810
test eax, eax
je 0x100147d2
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.1000d810
test eax, eax
je 0x100147ee
mov ax, word [eax]
cmp word [esp + 0x5c], 0xa
mov word [ebx + 4], ax
jne 0x1001482a
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 0x10014823
cmp al, 4
je 0x10014821
cmp al, 5
je 0x10014821
cmp al, 6
jne 0x10014823
mov al, 1
mov byte [edi + 5], al
cmp al, 0xff
je 0x100148a7
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 0x100146c7
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.10018490
mov esi, eax
test esi, esi
js 0x10014a05
cmp dword [esp + 0x80], 0
je 0x10014966
mov esi, 0xfffffa85
jmp 0x10014a05
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.1003ceb0
mov esi, 0xfffffbd8
jmp 0x10014a05
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.1003ceb0
mov esi, 0xfffffbe8
jmp 0x10014a05
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.1003ceb0
mov esi, 0xfffffa17
jmp 0x10014a05
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.1003ceb0
mov esi, 0xfffffa1d
jmp 0x10014a05
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push esi
push dword [esp + 0x44]
call fcn.1003ceb0
mov esi, 0xfffffa1d
jmp 0x10014a05
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.1001b050
movzx eax, ax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x10014a6d
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x24]
call fcn.100293c0
mov esi, eax
test esi, esi
js 0x10014a05
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 0x10014bdf
test byte [ecx + 4], 0x20
jne 0x100149de
movzx eax, byte [ecx + 1]
inc edx
lea ecx, [ecx + eax*8]
add ecx, 0x18
cmp edx, esi
jb 0x100149c2
mov esi, 0xfffffa84
jmp 0x10014a05
movzx edx, byte [ecx]
mov ebx, 0xff
mov dword [esp + 0x44], edx
cmp dx, bx
je 0x10014bdf
mov eax, dword [esp + 0x48]
cmp byte [ecx + 1], al
je 0x10014c67
mov esi, 0xfffffc15
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x38]
je 0x10014a20
push dword [esp + 0x60]
push dword [esp + 0x24]
call fcn.10029350
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10014a34
push eax
push dword [0x1004936c]
call fcn.1003a290
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10014a48
push eax
push dword [0x1004936c]
call fcn.1003a290
push dword [esp + 0x40]
call fcn.100113e0
test eax, eax
js 0x10015416
call fcn.10024620
push dword [ebp + 0x10]
call fcn.10029da0
mov eax, esi
jmp 0x10015416
xor edi, edi
mov esi, eax
cmp byte [eax], 0
je 0x10014a9c
mov eax, edi
inc edi
cmp eax, 0xa
je 0x10014acf
push esi
lea eax, [esp + 0xe4]
push eax
call fcn.100181d0
test eax, eax
je 0x10014943
inc esi
add esi, eax
cmp byte [esi], 0
jne 0x10014a76
mov ebx, dword [esp + 0x48]
cmp edi, ebx
jne 0x10014a00
lea esi, [ebx*8 + 0x18]
push esi
push dword [0x1004936c]
call fcn.10028ef0
mov edi, eax
mov dword [esp + 0x64], edi
test edi, edi
jne 0x10014ad9
mov esi, 0xfffffc0d
jmp 0x10014a05
mov esi, 0xfffffc08
jmp 0x10014a05
mov eax, dword [edi]
push esi
push 0
push eax
mov dword [esp + 0x3c], eax
call fcn.1003d0a0
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 0x10014ba9
mov edi, edi
push esi
lea eax, [esp + 0xe4]
push eax
call fcn.100181d0
mov edi, eax
test edi, edi
je 0x10014943
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.10018490
mov esi, eax
test esi, esi
js 0x10014a05
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10014be9
lea ecx, [esp + 0x1c]
push ecx
push dword [ebp + 0x64]
push eax
call fcn.1000d810
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.1000d810
mov esi, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [ebx], eax
add ebx, 8
cmp byte [esi], 0
jne 0x10014b10
mov edi, dword [esp + 0x64]
push 0
push dword [esp + 0x24]
call fcn.100293c0
mov esi, eax
test esi, esi
js 0x10014a05
push 0
push 1
push dword [edi]
push dword [esp + 0x2c]
push ebp
call fcn.1001b050
movzx eax, ax
mov ecx, 0xff
mov dword [esp + 0x44], eax
cmp ax, cx
jne 0x10014c24
mov esi, 0xfffffa84
jmp 0x10014a05
mov esi, 0xfffffa1d
cmp edi, 0x42
jae 0x10015431
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.1003ceb0
jmp 0x10014a05
lea ecx, [esp + 0x54]
push ecx
push eax
push dword [esp + 0x28]
call fcn.100245c0
mov esi, eax
test esi, esi
js 0x10014a05
mov eax, dword [esp + 0x54]
test byte [eax + 4], 2
jne 0x10014c51
mov esi, 0xfffffa84
jmp 0x10014a05
push edi
push dword [0x1004936c]
call fcn.1003a290
mov edx, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x50]
jne 0x10014c82
cmp word [esp + 0x3c], dx
jne 0x10014c82
mov esi, 0xfffffa81
jmp 0x10014a05
lea eax, [esp + 0x30]
push eax
push edx
push dword [esp + 0x28]
call fcn.100245c0
mov esi, eax
test esi, esi
js 0x10014a05
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 0x10014d20
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 0x10014d10
cmp al, 0xa
jne 0x10014cdd
mov al, byte [edx - 1]
cmp al, byte [ecx + 0x1d]
jne 0x10014d10
movzx ecx, word [ecx + 0x1e]
movzx ebx, word [edx]
mov eax, ecx
xor eax, ebx
test eax, 0x8000
je 0x10014d06
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 0x10014cc0
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
cmp edi, eax
je 0x10014d2e
mov esi, 0xfffffa82
jmp 0x10014a05
mov edi, 0xff
cmp si, di
jne 0x10014d7d
mov eax, dword [esp + 0x10]
push 1
push 1
push dword [ecx]
push dword [eax + 0x10]
push ebp
call fcn.1001b050
movzx esi, ax
mov dword [esp + 0x3c], esi
cmp si, di
jne 0x10014d7d
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.10019a10
mov esi, eax
test esi, esi
js 0x10014a05
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x70], 0
jne 0x10014f16
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x40]
push eax
push 1
push esi
push dword [ebp + 0x10]
call fcn.1000fa80
mov esi, eax
test esi, esi
js 0x10014a09
lea eax, [esp + 0x58]
push eax
push 2
push dword [esp + 0x48]
call fcn.10010590
mov esi, eax
test esi, esi
js 0x10014a09
mov edi, 0xffff
cmp dword [esp + 0x58], 0
je 0x10014ef3
push 0x100
lea eax, [esp + 0x16d]
push eax
push dword [esp + 0x48]
call fcn.1000f8d0
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.1000f960
mov esi, eax
test esi, esi
js 0x10014a09
cmp dword [esp + 0x84], 0
jne 0x10014e8c
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x48]
call fcn.10010040
mov esi, eax
test esi, esi
js 0x10014a09
mov eax, dword [esp + 0x40]
mov byte [esp + 0x168], 0
mov eax, dword [eax]
mov eax, dword [eax + 0x120]
test al, al
js 0x10014e5e
test eax, 0x800
jne 0x10014e5e
xor eax, eax
jmp 0x10014e63
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.1002be60
mov esi, eax
test esi, esi
js 0x10014a09
cmp di, word [esp + 0x1c]
je 0x10014eab
lea eax, [esp + 0x58]
push eax
push 2
push dword [esp + 0x48]
call fcn.10010590
mov esi, eax
test esi, esi
jns 0x10014dc5
jmp 0x10014a09
push 1
push 0x41
lea eax, [esp + 0xe8]
push eax
push ebp
push dword [esp + 0x38]
call fcn.10020570
push 0
push 0
push 0
push 0xffffe01b
push 0
push dword [esp + 0x90]
lea eax, [esp + 0xf8]
push eax
mov eax, dword [0x1006b724]
push dword [eax]
call fcn.1003ceb0
mov esi, 0xfffff9b3
jmp 0x10014a09
test esi, esi
js 0x10014a09
push dword [esp + 0x40]
call fcn.10011340
mov esi, eax
test esi, esi
js 0x10014a09
mov dword [esp + 0x40], 0
push 0x800
call fcn.1003a360
mov ebp, eax
test ebp, ebp
jne 0x10014f30
mov esi, 0xfffffc0d
jmp 0x10014a05
push ebp
push dword [esp + 0x38]
call fcn.1002dd00
mov esi, eax
test esi, esi
js 0x10015406
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.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push dword [esp + 0x74]
lea eax, [esp + 0x128]
push eax
push dword [ebx + 0xb0]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 2
lea eax, [esp + 0x40]
push eax
push dword [ebx + 0xa4]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 1
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 1
push eax
push dword [ebx + 0xbc]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
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.1000d260
mov esi, eax
test esi, esi
js 0x10015406
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.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push ebx
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xc8]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 4
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xb8]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 2
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xa8]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x48]
push dword [esp + 0x28]
call fcn.100245c0
mov esi, eax
test esi, esi
js 0x10015406
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.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push ebx
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xcc]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
mov eax, dword [esp + 0x18]
push dword [esp + 0x70]
push dword [eax + 0x94]
push edi
call fcn.1000d260
mov esi, eax
test esi, esi
js 0x10015406
cmp dword [esp + 0x6c], 0
jne 0x10015152
push 1
lea eax, [esp + 0x1a]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xd0]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 1
lea eax, [esp + 0x1b]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0x8c]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 0
push edi
push dword [esp + 0x3c]
call fcn.1002ef10
mov esi, eax
test esi, esi
js 0x10015406
push ebp
push dword [esp + 0x38]
call fcn.1002dd00
mov esi, eax
test esi, esi
js 0x10015406
push 4
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xb4]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 2
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xa4]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
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.1000d330
mov esi, eax
test esi, esi
js 0x10015406
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x48]
push dword [esp + 0x28]
call fcn.100245c0
mov esi, eax
test esi, esi
js 0x10015406
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.1000d260
mov esi, eax
test esi, esi
js 0x10015406
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.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push ebx
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xc8]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 4
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xb8]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 2
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0xa8]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
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.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push ebx
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x94]
push eax
push dword [ebx + 0xcc]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push dword [esp + 0x70]
push dword [ebx + 0x94]
push edi
call fcn.1000d260
mov esi, eax
test esi, esi
js 0x10015406
cmp dword [esp + 0x6c], 0
jne 0x10015356
push 1
lea eax, [esp + 0x1a]
push eax
push dword [ebx + 0xd0]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 1
lea eax, [esp + 0x1b]
push eax
push dword [ebx + 0x8c]
push edi
call fcn.1000d330
mov esi, eax
test esi, esi
js 0x10015406
push 0
push edi
push dword [esp + 0x3c]
call fcn.1002ef10
mov esi, eax
test esi, esi
js 0x10015406
push ebp
call fcn.1003a2e0
push dword [esp + 0x24]
push dword [0x1004936c]
call fcn.1003a290
push dword [esp + 0x38]
mov dword [esp + 0x28], 0
push ebx
call fcn.10018050
mov esi, eax
test esi, esi
js 0x10015406
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x38]
je 0x100153b0
push dword [esp + 0x60]
push dword [esp + 0x24]
call fcn.100290b0
push 1
push dword [esp + 0x2c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x68], 0
call fcn.100229e0
mov esi, eax
test esi, esi
js 0x10015406
mov ebx, dword [esp + 0x10]
push dword [ebx + 0x10]
call fcn.10029da0
mov eax, dword [0x1006b724]
cmp dword [eax + 0x28], 0
jbe 0x10015402
mov ecx, dword [ebx + 0x10]
cmp dword [ecx + 0x44], 0
jne 0x10015402
mov dword [ecx + 0x44], eax
mov eax, dword [0x1006b724]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 0x28]
mov dword [ecx + 0x48], eax
xor eax, eax
jmp 0x10015416
push ebp
call fcn.1003a2e0
jmp 0x10014a05
mov eax, 0xfffffae3
pop edi
pop ebp
mov ecx, dword [esp + 0x260]
pop esi
pop ebx
xor ecx, esp
call fcn.1003d130
add esp, 0x25c
ret 0x1c
call fcn.1003df8c
int3