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

Disassembly:
sub esp, 0x84
mov eax, dword [esp + 0x90]
push ebx
push ebp
push esi
push edi
push eax
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x44], ecx
call fcn.10013870
mov ebx, dword [esp + 0x18]
push 0x1002a174
push ebx
call fcn.1000d490
add esp, 8
xor esi, esi
test eax, eax
jne 0x100154f2
xor ecx, ecx
cmp word [ebx], si
mov eax, ebx
je 0x100154f2
lea esp, [esp]
add eax, 2
add ecx, 1
cmp word [eax], si
jne 0x10013b90
cmp ecx, esi
je 0x100154f2
push 0x10029edc
push ebx
call fcn.1000d490
add esp, 8
test eax, eax
jne 0x10013e64
push 0x10020ba8
push ebx
call fcn.1000d490
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 8
test eax, eax
je 0x10013c87
mov ecx, dword [0x1002097c]
mov eax, dword [0x10020978]
mov edx, dword [0x10020980]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
mov ax, word [0x10020984]
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0x6c], edx
mov word [esp + 0x70], ax
call ebp
push ebx
mov edi, eax
call ebp
cmp eax, edi
jl 0x10013c87
cmp word [ebx + 0xa], 0x3a
jne 0x10013c87
mov edi, dword [esp + 0x3c]
mov dx, word [ebx + 8]
lea eax, [edi + 0x1c]
push eax
lea ecx, [esp + 0x5c]
mov word [esp + 0x6c], dx
call fcn.1000fcf0
mov ecx, dword [edi + 0x20]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x4c]
push eax
call edx
xor ecx, ecx
cmp dword [eax], esi
setne cl
mov edi, ecx
mov ecx, dword [esp + 0x48]
cmp ecx, esi
je 0x10013c5e
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x48], esi
cmp edi, esi
je 0x10013c7e
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call fcn.100035c0
lea ecx, [esp + 0x58]
call fcn.1000fd10
jmp 0x10013e72
lea ecx, [esp + 0x58]
call fcn.1000fd10
push 0x10020ba8
push ebx
call fcn.1000d490
add esp, 8
test eax, eax
je 0x10013e64
push ebx
call ebp
add eax, 1
mov edi, esi
je 0x10013cc2
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10002e89
add esp, 4
mov edi, eax
push ebx
push edi
mov word [edi], si
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push edi
call ebp
lea ebp, [edi + eax*2]
cmp ebp, edi
jb 0x10013d8f
jmp 0x10013ce0
movzx eax, word [ebp]
cmp ax, 0x5c
je 0x10013cf3
cmp ax, si
jne 0x10013d84
xor ecx, ecx
cmp ax, si
setne cl
mov eax, ecx
cmp eax, esi
mov dword [esp + 0x4c], eax
je 0x10013d09
mov word [ebp], si
push edi
lea edx, [esp + 0x38]
push edx
call dword [0x1005c4c8]
mov ecx, dword [esp + 0x3c]
push 1
push esi
lea eax, [esp + 0x3c]
mov dword [esp + 0x8c], eax
mov eax, dword [ecx + 0x3c]
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x88]
push ecx
add eax, 0x70
push 0x100000
lea edx, [esp + 0x44]
mov dword [esp + 0x90], 0x18
mov dword [esp + 0x94], esi
mov dword [esp + 0x9c], 0x40
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], esi
mov eax, dword [eax + 0xc]
push edx
call eax
cmp eax, esi
je 0x10013dab
cmp dword [esp + 0x4c], esi
je 0x10013d84
mov word [ebp], 0x5c
sub ebp, 2
cmp ebp, edi
jae 0x10013ce0
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call fcn.100035c0
push edi
call fcn.10002e75
add esp, 4
jmp 0x10013e72
push esi
call fcn.10002e75
push 2
call fcn.10002e89
mov ebx, dword [esp + 0x44]
mov word [eax], si
mov ecx, dword [esp + 0x38]
add esp, 8
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
push eax
push ecx
mov ecx, ebx
call fcn.10011a40
mov eax, dword [ebx + 0x3c]
mov edx, dword [esp + 0x30]
add eax, 0x188
mov eax, dword [eax + 0xc]
push edx
call eax
cmp dword [esp + 0x4c], esi
je 0x10013df5
mov word [ebp], 0x5c
push ebp
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], esi
call fcn.100035c0
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.10005a10
mov eax, dword [eax]
add esp, 0xc
push eax
lea ecx, [esp + 0x30]
call fcn.100035c0
mov eax, dword [esp + 0x28]
push eax
call fcn.10002e75
mov ecx, dword [esp + 0x50]
push ecx
mov dword [esp + 0x30], esi
call fcn.10002e75
mov ebx, dword [esp + 0x34]
add esp, 8
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call fcn.100035c0
push ebx
call fcn.10002e75
push edi
call fcn.10002e75
add esp, 8
jmp 0x10013e72
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call fcn.100035c0
mov edi, dword [esp + 0x24]
push edi
lea ecx, [esp + 0x1c]
call fcn.100035c0
push edi
call fcn.10002e75
add esp, 4
cmp dword [0x1005c4bc], esi
je 0x10013ee4
mov edx, dword [esp + 0x18]
push 0x1002047c
push edx
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], esi
call fcn.100035c0
push 0x1002a138
lea ecx, [esp + 0x18]
call fcn.1000f610
mov ecx, eax
call fcn.1000f930
mov edi, dword [esp + 0x4c]
push edi
mov ecx, eax
call fcn.1000f990
push edi
mov ebx, eax
call fcn.10002e75
add esp, 4
mov ecx, ebx
call fcn.1000f930
lea ecx, [esp + 0x10]
call fcn.1000f640
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x70]
push 0xc
push eax
call fcn.1000cdf0
mov edx, dword [esp + 0x44]
add esp, 8
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [edx + 0x3c]
push 2
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x78], edi
call fcn.100074a0
cmp dword [esp + 0x74], esi
je 0x10013f56
mov eax, dword [esp + 0x78]
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], esi
call fcn.100035c0
mov edi, dword [esp + 0x48]
push edi
lea ecx, [esp + 0x1c]
call fcn.100035c0
push edi
call fcn.10002e75
mov ecx, dword [esp + 0x7c]
add esp, 4
push ecx
call fcn.100031a0
mov edi, dword [esp + 0x18]
push 0x1002a110
push edi
call fcn.1000d490
add esp, 8
test eax, eax
jne 0x10015374
push 0x1002a0ec
push edi
call fcn.1000d490
add esp, 8
test eax, eax
jne 0x10015374
push 0x1002a0d4
push edi
call fcn.1000d490
add esp, 8
test eax, eax
jne 0x10015374
push 0x1002a0bc
push edi
call fcn.1000d490
add esp, 8
test eax, eax
jne 0x10015374
push 0x1002a098
push edi
call fcn.1000d490
add esp, 8
test eax, eax
jne 0x10015374
push 0x1002a074
push edi
call fcn.1000d490
add esp, 8
test eax, eax
jne 0x10015374
lea ecx, [esp + 0x18]
call fcn.10005b70
test al, al
jne 0x10015374
mov edi, dword [esp + 0x3c]
lea edx, [edi + 0x1c]
push edx
lea ecx, [esp + 0x58]
call fcn.1000fcf0
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push ebx
push eax
call fcn.10012560
mov eax, dword [eax]
add esp, 8
push esi
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
call fcn.100136a0
lea ecx, [esp + 0x10]
call fcn.100032b0
push esi
push ebx
lea edx, [esp + 0x60]
push edx
mov ecx, edi
call fcn.100136a0
mov ebx, dword [esp + 0x58]
xor eax, eax
cmp ebx, esi
setne al
mov ebp, eax
cmp ebp, esi
mov dword [esp + 0x30], ebp
je 0x100142ba
mov edx, dword [ebx]
mov eax, dword [edx + 0x14]
mov ecx, ebx
call eax
test eax, eax
mov edx, dword [ebx]
mov ecx, ebx
je 0x100142a8
mov eax, dword [edx + 0x1c]
call eax
test eax, eax
je 0x10014104
cmp dword [0x1005c4bc], esi
je 0x100140ce
push 0x10020410
push 0x1002a044
push 0x1002a040
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
push edx
call fcn.100059d0
push 0x1002a010
lea ecx, [esp + 0x24]
call fcn.1000f610
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.10004500
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
lea ecx, [esp + 0x10]
call fcn.1000f640
lea ecx, [esp + 0x58]
call fcn.10005c10
lea ecx, [esp + 0x24]
call fcn.10005c10
lea ecx, [esp + 0x54]
call fcn.1000fd10
lea ecx, [esp + 0x18]
call fcn.100032b0
mov eax, 0xc0000022
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x30
mov eax, dword [ebx]
mov edx, dword [eax + 0x24]
mov ecx, ebx
call edx
test eax, eax
je 0x10014175
cmp dword [0x1005c4bc], esi
je 0x1001416f
push 0x10020410
push 0x10029fdc
push 0x1002a040
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
push eax
call fcn.100059d0
push 0x1002a010
lea ecx, [esp + 0x24]
call fcn.1000f610
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.10004500
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
lea ecx, [esp + 0x10]
call fcn.1000f640
xor ebp, ebp
mov dword [esp + 0x30], ebp
cmp dword [0x1005c4bc], esi
je 0x10014206
cmp ebp, esi
mov eax, 0x1002bf44
jne 0x1001418f
mov eax, 0x1002bf4c
mov ecx, dword [esp + 0x18]
push 0x10020410
push eax
push 0x10029fcc
push 0x1002a040
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call fcn.100035c0
push 0x1002a010
lea ecx, [esp + 0x54]
call fcn.1000f610
mov ecx, eax
call fcn.1000f930
mov edi, dword [esp + 0x20]
push edi
mov ecx, eax
call fcn.1000f990
push edi
mov ebp, eax
call fcn.10002e75
add esp, 4
mov ecx, ebp
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
lea ecx, [esp + 0x40]
call fcn.1000f640
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0xb4]
cmp edi, esi
jne 0x100145e4
cmp ebp, esi
je 0x100145ff
mov eax, dword [esp + 0xa4]
cmp eax, esi
mov ebp, 2
je 0x10014230
mov dword [eax + 4], esi
cmp ebx, esi
je 0x1001503b
mov edx, dword [ebx]
mov eax, dword [edx + 0x14]
mov ecx, ebx
call eax
test eax, eax
je 0x1001503b
mov edx, dword [ebx]
mov eax, dword [edx + 0x2c]
mov ecx, ebx
call eax
test al, 0x10
je 0x10014f4d
test byte [esp + 0xb8], 0x40
je 0x10014f4d
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x10014280
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
call fcn.1000fd10
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10002e75
mov eax, 0xc0000034
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x30
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x10014175
jmp 0x1001416f
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
mov eax, dword [edi + 0x3c]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xb8]
push 1
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
add eax, 0x98
mov eax, dword [eax + 0xc]
push ecx
lea edx, [esp + 0x88]
push edx
call eax
test eax, eax
jne 0x1001416f
mov eax, dword [edi + 0x3c]
mov ecx, dword [esp + 0x60]
add eax, 0x188
mov eax, dword [eax + 0xc]
mov ebp, 1
push ecx
mov dword [esp + 0x34], ebp
call eax
push esi
lea ecx, [esp + 0x18]
call fcn.100036c0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x18]
push eax
push ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
call fcn.10010760
lea edx, [esp + 0x2c]
push 4
push edx
call fcn.1000cdf0
mov eax, dword [esp + 0x48]
add esp, 0x14
push esi
lea ecx, [esp + 0x44]
mov dword [esp + 0x4c], eax
call fcn.100036c0
mov ecx, dword [esp + 0x14]
push esi
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, edi
call fcn.100136a0
push eax
lea ecx, [esp + 0x24]
call fcn.10005be0
lea ecx, [esp + 0x10]
call fcn.10005c10
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x1001458b
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1001cd50
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
add esp, 8
call eax
test eax, eax
jne 0x10014578
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
test eax, eax
jne 0x10014578
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
test eax, eax
jne 0x10014578
mov edi, dword [esp + 0x48]
cmp edi, esi
je 0x1001457e
lea ecx, [esp + 0x28]
push 4
push ecx
call fcn.1000cdf0
mov edx, dword [edi + 4]
mov eax, edi
mov eax, dword [eax + 8]
add esp, 8
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x30], esi
call fcn.100035c0
push 0x5c
lea ecx, [esp + 0x20]
call fcn.10010000
test al, al
jne 0x1001448f
push 0x1002c0d8
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], esi
call fcn.100035c0
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x64]
push edx
call fcn.10005a10
mov eax, dword [eax]
add esp, 0xc
push eax
lea ecx, [esp + 0x20]
call fcn.100035c0
mov eax, dword [esp + 0x5c]
push eax
call fcn.10002e75
mov ecx, dword [esp + 0x50]
push ecx
mov dword [esp + 0x64], esi
call fcn.10002e75
add esp, 8
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.10005a10
mov eax, dword [eax]
add esp, 0xc
push eax
lea ecx, [esp + 0x20]
call fcn.100035c0
mov edx, dword [esp + 0x50]
push edx
call fcn.10002e75
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
add esp, 4
push edx
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x58], esi
call eax
mov ecx, dword [esp + 0x28]
cmp ecx, esi
mov edi, eax
je 0x100144ed
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x28], esi
mov eax, dword [edi]
cmp eax, esi
mov dword [esp + 0x28], eax
je 0x10014503
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
cmp ecx, esi
je 0x1001451a
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], esi
cmp eax, esi
je 0x100145c6
mov ecx, dword [esp + 0x20]
cmp ecx, esi
je 0x10014535
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
cmp eax, esi
mov dword [esp + 0x20], eax
je 0x10014545
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx]
call eax
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.10002e75
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp ecx, esi
je 0x10014565
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
test eax, eax
je 0x100143d5
xor ebp, ebp
mov dword [esp + 0x30], ebp
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.10002e75
add esp, 4
mov edx, dword [esp + 0x40]
push edx
call fcn.10002e75
mov ecx, dword [esp + 0x24]
add esp, 4
cmp ecx, esi
je 0x100145ab
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x34]
call fcn.100105f0
mov eax, dword [esp + 0x14]
push eax
call fcn.10002e75
add esp, 4
jmp 0x10014175
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.10002e75
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp ecx, esi
je 0x1001457e
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
jmp 0x1001457e
cmp ebp, esi
jne 0x100146b3
cmp edi, 2
je 0x100145ff
cmp edi, 3
je 0x100145ff
cmp edi, 5
jne 0x100151ab
mov eax, dword [esp + 0xa4]
cmp eax, esi
je 0x10014611
mov dword [eax + 4], 2
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x50]
push eax
call fcn.10010240
lea ecx, [esp + 0x24]
push 4
push ecx
call fcn.1000cdf0
add esp, 0x10
cmp ebx, esi
je 0x1001470f
mov edx, dword [ebx]
mov eax, dword [edx + 0x14]
mov ecx, ebx
call eax
test eax, eax
je 0x1001470f
mov edx, dword [ebx]
mov edx, dword [edx + 0x54]
lea eax, [esp + 0x2c]
push eax
mov ecx, ebx
call edx
cmp dword [esp + 0x2c], esi
je 0x10014691
lea eax, [esp + 0x34]
push 8
push eax
call fcn.1000cdf0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
add esp, 8
push edx
mov edx, dword [esp + 0x38]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x10014691
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0x1c]
cmp ecx, esi
je 0x100146a0
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebx]
mov edx, dword [eax]
mov ecx, ebx
call edx
xor edi, edi
jmp 0x100147a5
cmp edi, 1
je 0x100146bd
cmp edi, 3
jne 0x100146d9
mov eax, dword [esp + 0xa4]
cmp eax, esi
mov ebp, 1
je 0x10014230
mov dword [eax + 4], ebp
jmp 0x10014230
cmp ebp, esi
je 0x100151ab
cmp edi, 4
je 0x100146ef
cmp edi, 5
jne 0x1001514c
mov eax, dword [esp + 0xa4]
cmp eax, esi
mov ebp, 2
je 0x10014230
mov dword [eax + 4], 3
jmp 0x10014230
mov ebp, dword [esp + 0x3c]
cmp dword [ebp], 1
je 0x100148e4
cmp dword [esp + 0x24], esi
je 0x10014736
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
test eax, eax
jne 0x100148e4
cmp dword [ebp], esi
jne 0x10014882
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
mov eax, dword [ebp + 0x3c]
push ecx
mov ecx, dword [esp + 0xbc]
mov eax, dword [eax + 0xa4]
push edx
mov edx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xb8]
push edi
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
push edx
call eax
mov edi, eax
cmp edi, esi
jne 0x10014833
cmp ebx, esi
je 0x100147b8
mov eax, dword [ebx]
mov edx, dword [eax + 4]
mov ecx, ebx
call edx
mov dword [esp + 0x58], esi
mov ebx, esi
cmp dword [esp + 0x1c], esi
je 0x10014846
call fcn.1000ced0
test dword [esp + 0xb8], 0x1000
mov ebp, eax
mov dword [esp + 0x40], ebp
je 0x100147e7
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
push 1
call edx
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x38]
call fcn.10010170
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
add ecx, 0x24
call fcn.10011ea0
mov ecx, dword [esp + 0x38]
cmp ecx, esi
je 0x1001481a
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x34]
cmp eax, esi
je 0x1001482a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
mov dword [eax], ebp
mov ecx, dword [esp + 0x1c]
cmp ecx, esi
je 0x10014846
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.10002e75
add esp, 4
cmp ebx, esi
je 0x10014860
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x1001486f
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
call fcn.1000fd10
mov ecx, dword [esp + 0x18]
push ecx
jmp 0x1001566e
mov ecx, dword [esp + 0x1c]
cmp ecx, esi
je 0x10014895
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x4c]
push eax
call fcn.10002e75
add esp, 4
cmp ebx, esi
je 0x100148af
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x100148be
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
call fcn.1000fd10
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10002e75
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x30
cmp ebx, esi
je 0x1001499a
mov edx, dword [ebx]
mov edx, dword [edx + 0x44]
lea eax, [esp + 0x40]
mov ecx, ebx
push eax
call edx
mov edi, dword [eax]
mov eax, dword [ebx]
mov edx, dword [eax + 0x40]
lea ecx, [esp + 0x50]
push ecx
mov ecx, ebx
call edx
test byte [esp + 0xb8], 1
mov eax, dword [eax]
mov edx, dword [edi]
mov ecx, edi
je 0x10014929
mov edx, dword [edx + 8]
push 1
push eax
lea eax, [esp + 0x18]
push eax
call edx
jmp 0x10014937
mov edx, dword [edx + 0xc]
push esi
push 1
push eax
lea eax, [esp + 0x1c]
push eax
call edx
mov ecx, dword [esp + 0x1c]
cmp ecx, esi
mov edi, eax
je 0x1001494c
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x1c], esi
mov ecx, dword [edi]
cmp ecx, esi
mov dword [esp + 0x1c], ecx
je 0x1001495c
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
mov ecx, dword [esp + 0x10]
cmp ecx, esi
je 0x1001496f
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x50]
push eax
call fcn.10002e75
mov ecx, dword [esp + 0x44]
add esp, 4
cmp ecx, esi
mov dword [esp + 0x50], esi
je 0x10014ebf
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
xor edi, edi
jmp 0x100147a5
push esi
call fcn.10002e75
push 2
call fcn.10002e89
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x38]
mov dword [esp + 0x38], eax
mov word [eax], si
mov eax, dword [esp + 0x24]
push edx
push eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
call fcn.10010760
lea ecx, [esp + 0x28]
push 4
push ecx
call fcn.1000cdf0
mov ebp, dword [esp + 0x50]
push esi
call fcn.10002e75
push 2
call fcn.10002e89
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
add esp, 0x24
push esi
push ebx
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x2c], eax
mov word [eax], si
call fcn.100136a0
mov ecx, dword [esp + 0x14]
cmp ecx, esi
mov edi, eax
je 0x10014a1a
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x14], esi
mov eax, dword [edi]
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x10014a30
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
cmp ecx, esi
je 0x10014a43
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
cmp eax, esi
jne 0x10014ab5
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx + 0x20]
mov eax, dword [edi]
push ebx
mov dword [esp + 0x44], eax
call fcn.100126a0
mov ecx, dword [esp + 0x2c]
neg eax
sbb eax, eax
add eax, 1
push eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0xc]
push ecx
lea edx, [esp + 0x68]
push edx
mov ecx, edi
call eax
mov ecx, dword [esp + 0x14]
cmp ecx, esi
mov edi, eax
je 0x10014a8c
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x14], esi
mov eax, dword [edi]
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x10014aa2
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x60]
cmp ecx, esi
je 0x10014ab5
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.1001cd50
mov edx, dword [eax]
add esp, 8
push edx
lea ecx, [esp + 0x24]
call fcn.100035c0
mov eax, dword [esp + 0x40]
push eax
call fcn.10002e75
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
add esp, 4
call eax
test eax, eax
jne 0x10014c73
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
test eax, eax
jne 0x10014c73
cmp ebp, esi
je 0x10014d22
lea ecx, [esp + 0x28]
push 4
push ecx
call fcn.1000cdf0
mov eax, ebp
mov edx, dword [eax + 8]
mov ebp, dword [ebp + 4]
add esp, 8
push edx
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], esi
call fcn.100035c0
push 0x5c
lea ecx, [esp + 0x24]
call fcn.10010000
test al, al
jne 0x10014b8e
push 0x1002c0d8
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], esi
call fcn.100035c0
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.10005a10
mov eax, dword [eax]
add esp, 0xc
push eax
lea ecx, [esp + 0x24]
call fcn.100035c0
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10002e75
mov edx, dword [esp + 0x4c]
push edx
mov dword [esp + 0x18], esi
call fcn.10002e75
add esp, 8
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x58]
push edx
call fcn.10005a10
mov eax, dword [eax]
add esp, 0xc
push eax
lea ecx, [esp + 0x24]
call fcn.100035c0
mov ecx, dword [esp + 0x50]
push ecx
call fcn.10002e75
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
mov edx, dword [ecx]
mov edx, dword [edx + 0x48]
add esp, 4
push ebx
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x58], esi
call edx
mov ecx, dword [esp + 0x28]
cmp ecx, esi
mov edi, eax
je 0x10014bec
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x28], esi
mov eax, dword [edi]
cmp eax, esi
mov dword [esp + 0x28], eax
je 0x10014c02
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
cmp ecx, esi
je 0x10014c19
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], esi
cmp eax, esi
mov ecx, dword [esp + 0x14]
je 0x10014d4c
cmp ecx, esi
je 0x10014c34
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x10014c44
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx]
call eax
push ebx
call fcn.10002e75
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp ecx, esi
je 0x10014c60
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
call eax
test eax, eax
je 0x10014aef
mov edx, dword [esp + 0x20]
push edx
call fcn.10002e75
mov ecx, dword [esp + 0x18]
add esp, 4
cmp ecx, esi
je 0x10014c93
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x34]
cmp edi, esi
je 0x10014cbe
jmp 0x10014ca0
mov eax, dword [edi + 8]
mov ebp, dword [edi + 4]
push eax
call fcn.10002e75
push edi
mov dword [edi + 8], esi
call fcn.10002e75
add esp, 8
cmp ebp, esi
mov edi, ebp
jne 0x10014ca0
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.10002e75
mov ecx, dword [esp + 0x20]
add esp, 4
cmp ecx, esi
je 0x10014cde
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.10002e75
mov ecx, dword [esp + 0x28]
add esp, 4
cmp ecx, esi
je 0x10014cfa
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
call fcn.1000fd10
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10002e75
mov eax, 0xc000003a
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x30
mov ecx, dword [esp + 0x1c]
cmp ecx, esi
je 0x10014d31
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
cmp ecx, esi
mov dword [esp + 0x1c], ecx
je 0x10014e66
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
jmp 0x10014e66
cmp ecx, esi
mov dword [esp + 0x50], ecx
je 0x10014d5e
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [esp + 0x14]
cmp ebp, esi
je 0x10014e0d
mov edi, dword [esp + 0x3c]
lea ebx, [ebx]
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, edi
call fcn.100126a0
test eax, eax
je 0x10014ec6
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push esi
push ebx
lea eax, [esp + 0x48]
push eax
call edx
push eax
lea ecx, [esp + 0x18]
call fcn.10005be0
lea ecx, [esp + 0x40]
call fcn.10005c10
mov eax, ebp
mov ebp, dword [ebp + 4]
add eax, 8
push eax
lea ecx, [esp + 0x34]
call fcn.100036e0
push 0x5c
lea ecx, [esp + 0x24]
call fcn.10010000
test al, al
jne 0x10014def
push 0x1002c0d8
lea ecx, [esp + 0x14]
call fcn.100036c0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x24]
call fcn.10005b30
lea ecx, [esp + 0x10]
call fcn.100032b0
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x24]
call fcn.10005b30
cmp ebp, esi
mov ebx, dword [esp + 0x30]
jne 0x10014d70
mov ecx, dword [esp + 0x14]
test byte [esp + 0xb8], 1
je 0x10014e28
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
push ebx
lea eax, [esp + 0x48]
push eax
call edx
jmp 0x10014e38
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
push esi
push 1
push ebx
lea edx, [esp + 0x4c]
push edx
call eax
push eax
lea ecx, [esp + 0x20]
call fcn.10005be0
lea ecx, [esp + 0x40]
call fcn.10005c10
lea ecx, [esp + 0x50]
call fcn.10005c10
lea ecx, [esp + 0x30]
call fcn.100032b0
lea ecx, [esp + 0x28]
call fcn.10005c10
mov ecx, dword [esp + 0x20]
push ecx
call fcn.10002e75
mov ecx, dword [esp + 0x18]
add esp, 4
cmp ecx, esi
je 0x10014e86
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x34]
cmp edi, esi
je 0x10014eae
mov edi, edi
mov ecx, dword [edi + 8]
mov ebp, dword [edi + 4]
push ecx
call fcn.10002e75
push edi
mov dword [edi + 8], esi
call fcn.10002e75
add esp, 8
cmp ebp, esi
mov edi, ebp
jne 0x10014e90
mov edx, dword [esp + 0x2c]
push edx
call fcn.10002e75
mov ebx, dword [esp + 0x5c]
add esp, 4
xor edi, edi
jmp 0x100147a5
lea ecx, [esp + 0x50]
call fcn.10005c10
lea ecx, [esp + 0x30]
call fcn.100032b0
lea ecx, [esp + 0x28]
call fcn.10005c10
lea ecx, [esp + 0x20]
call fcn.100032b0
lea ecx, [esp + 0x14]
call fcn.10005c10
lea ecx, [esp + 0x34]
call fcn.100105f0
lea ecx, [esp + 0x2c]
call fcn.100032b0
lea ecx, [esp + 0x1c]
call fcn.10005c10
lea ecx, [esp + 0x4c]
call fcn.100032b0
lea ecx, [esp + 0x58]
call fcn.10005c10
lea ecx, [esp + 0x24]
call fcn.10005c10
lea ecx, [esp + 0x54]
call fcn.1000fd10
lea ecx, [esp + 0x18]
call fcn.100032b0
mov eax, 0xc000003a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x30
call fcn.1000ced0
mov edi, eax
push ebx
lea ecx, [esp + 0x38]
mov dword [esp + 0x44], edi
call fcn.10010170
mov ecx, dword [esp + 0x3c]
push eax
lea edx, [esp + 0x44]
push edx
add ecx, 0x24
call fcn.10011ea0
mov ecx, dword [esp + 0x38]
cmp ecx, esi
je 0x10014f87
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x34]
cmp eax, esi
je 0x10014f97
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test dword [esp + 0xb8], 0x1000
mov eax, dword [esp + 0x98]
mov dword [eax], edi
je 0x10014fb8
mov edx, dword [ebx]
mov eax, dword [edx + 0x38]
push 1
mov ecx, ebx
call eax
cmp ebp, 2
jne 0x10014ffe
lea ecx, [esp + 0x34]
push 8
push ecx
call fcn.1000cdf0
mov edx, dword [ebx]
mov edx, dword [edx + 0x54]
add esp, 8
lea eax, [esp + 0x40]
push eax
mov ecx, ebx
call edx
mov edx, dword [esp + 0x38]
mov eax, dword [eax]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x38]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov eax, dword [esp + 0x40]
cmp eax, esi
je 0x10014ffe
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 4]
mov ecx, ebx
call edx
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x10015016
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
lea ecx, [esp + 0x54]
call fcn.1000fd10
mov eax, dword [esp + 0x18]
push eax
call fcn.10002e75
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x30
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0x3c]
mov eax, dword [edx + 0xa4]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xb8]
push edi
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
push ecx
push ebp
call eax
mov edi, eax
cmp edi, esi
je 0x1001511d
cmp ebx, esi
je 0x1001512a
mov edx, dword [ebx]
mov eax, dword [edx + 0x2c]
mov ecx, ebx
call eax
test al, 0x10
je 0x1001511d
call fcn.1000ced0
test dword [esp + 0xb8], 0x1000
mov edi, eax
mov dword [esp + 0x40], edi
je 0x100150d9
mov edx, dword [ebx]
mov eax, dword [edx + 0x38]
push 1
mov ecx, ebx
call eax
push ebx
lea ecx, [esp + 0x38]
call fcn.10010170
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
add ecx, 0x24
call fcn.10011ea0
mov ecx, dword [esp + 0x38]
cmp ecx, esi
je 0x10015108
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x34]
cmp eax, esi
je 0x10015118
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp], edi
xor edi, edi
cmp ebx, esi
je 0x1001512a
mov eax, dword [ebx]
mov edx, dword [eax + 4]
mov ecx, ebx
call edx
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x10015139
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
lea ecx, [esp + 0x54]
call fcn.1000fd10
mov eax, dword [esp + 0x18]
push eax
jmp 0x1001566e
cmp edi, 2
jne 0x10015330
mov eax, dword [esp + 0xa4]
cmp eax, esi
je 0x10015167
mov dword [eax + 4], 4
cmp ebx, esi
je 0x10015174
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x10015183
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
call fcn.1000fd10
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10002e75
mov eax, 0xc0000035
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x30
cmp edi, 1
je 0x100151b9
cmp edi, 4
jne 0x10015330
mov ebp, dword [esp + 0x24]
cmp ebp, esi
je 0x100151ea
mov eax, dword [esp + 0xa4]
cmp eax, esi
je 0x100151d3
mov dword [eax + 4], 5
cmp ebx, esi
je 0x100151e0
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
mov edx, dword [ebp]
mov ecx, ebp
jmp 0x1001427b
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0x3c]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0xb8]
push edi
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
add eax, 0x98
mov eax, dword [eax + 0xc]
push ecx
push ebp
call eax
cmp dword [0x1005c4bc], esi
mov edi, eax
je 0x1001531f
cmp ebp, esi
je 0x10015263
mov ebp, dword [ebp]
jmp 0x10015265
xor ebp, ebp
push 0x10020410
push ebp
lea ecx, [esp + 0x68]
call fcn.10007d10
push eax
push 0x10029fb8
push edi
lea ecx, [esp + 0x44]
call fcn.1000fa50
mov edx, dword [esp + 0x24]
push eax
push 0x10029f8c
push 0x1002a040
push edx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], esi
call fcn.100035c0
push 0x1002a010
lea ecx, [esp + 0x5c]
call fcn.1000f610
mov ecx, eax
call fcn.1000f930
mov ebp, dword [esp + 0x28]
push ebp
mov ecx, eax
call fcn.1000f990
push ebp
mov ebx, eax
call fcn.10002e75
add esp, 4
mov ecx, ebx
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000fb80
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000fb80
mov ecx, eax
call fcn.1000f930
lea ecx, [esp + 0x40]
call fcn.1000f640
mov eax, dword [esp + 0x38]
push eax
call fcn.10002e75
mov ecx, dword [esp + 0x68]
push ecx
mov dword [esp + 0x40], esi
call fcn.10002e75
mov ebx, dword [esp + 0x60]
add esp, 8
cmp ebx, esi
je 0x1001486f
mov edx, dword [ebx]
mov ecx, ebx
jmp 0x1001486a
cmp ebx, esi
je 0x1001533d
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x24]
cmp ecx, esi
je 0x1001534c
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
call fcn.1000fd10
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10002e75
mov eax, 0xc000000d
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x30
cmp dword [esp + 0xc4], esi
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x98]
mov eax, dword [edx + 0x3c]
je 0x100153be
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
add eax, 0x70
mov eax, dword [eax + 0xc]
push ecx
push ebp
call eax
jmp 0x10015419
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
add eax, 0x98
mov eax, dword [eax + 0xc]
push edx
push ebp
call eax
cmp dword [0x1005c4bc], esi
mov edi, eax
je 0x100154e8
cmp ebp, esi
je 0x10015430
mov ebp, dword [ebp]
jmp 0x10015432
xor ebp, ebp
push 0x10020410
push ebp
lea ecx, [esp + 0x68]
call fcn.10007d10
push eax
push 0x10029fb8
push edi
lea ecx, [esp + 0x44]
call fcn.1000fa50
push eax
mov eax, dword [esp + 0x28]
push 0x10029f8c
push 0x1002a040
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], esi
call fcn.100035c0
push 0x1002a010
lea ecx, [esp + 0x5c]
call fcn.1000f610
mov ecx, eax
call fcn.1000f930
mov ebp, dword [esp + 0x28]
push ebp
mov ecx, eax
call fcn.1000f990
push ebp
mov ebx, eax
call fcn.10002e75
add esp, 4
mov ecx, ebx
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000fb80
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000fb80
mov ecx, eax
call fcn.1000f930
lea ecx, [esp + 0x40]
call fcn.1000f640
mov ecx, dword [esp + 0x38]
push ecx
call fcn.10002e75
mov edx, dword [esp + 0x68]
push edx
mov dword [esp + 0x40], esi
call fcn.10002e75
add esp, 8
mov eax, dword [esp + 0x18]
push eax
jmp 0x1001566e
cmp dword [esp + 0xc4], esi
mov ebp, dword [esp + 0x98]
je 0x1001553c
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x3c]
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb0]
push edx
mov edx, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xa8]
push ecx
add eax, 0x70
mov eax, dword [eax + 0xc]
push edx
push ebp
call eax
jmp 0x1001559e
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x3c]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push ecx
add eax, 0x98
mov eax, dword [eax + 0xc]
push edx
push ebp
call eax
cmp dword [0x1005c4bc], esi
mov edi, eax
je 0x1001566d
cmp ebp, esi
je 0x100155b5
mov ebp, dword [ebp]
jmp 0x100155b7
xor ebp, ebp
push 0x10020410
push ebp
lea ecx, [esp + 0x68]
call fcn.10007d10
push eax
push 0x10029fb8
push edi
lea ecx, [esp + 0x44]
call fcn.1000fa50
push eax
push 0x10029f8c
push 0x1002a040
push ebx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], esi
call fcn.100035c0
push 0x1002a010
lea ecx, [esp + 0x5c]
call fcn.1000f610
mov ecx, eax
call fcn.1000f930
mov ebp, dword [esp + 0x28]
push ebp
mov ecx, eax
call fcn.1000f990
push ebp
mov ebx, eax
call fcn.10002e75
add esp, 4
mov ecx, ebx
call fcn.1000f930
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000fb80
mov ecx, eax
call fcn.1000f930
mov ecx, eax
call fcn.1000fb80
mov ecx, eax
call fcn.1000f930
lea ecx, [esp + 0x40]
call fcn.1000f640
mov eax, dword [esp + 0x38]
push eax
call fcn.10002e75
mov ecx, dword [esp + 0x68]
push ecx
mov dword [esp + 0x40], esi
call fcn.10002e75
mov ebx, dword [esp + 0x20]
add esp, 8
push ebx
call fcn.10002e75
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x30
jmp 0x10013b40