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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x6d4
mov esi, dword [esp + 0x6e8]
mov eax, dword [esi]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 4]
mov dword [esp + 0xa0], eax
movzx eax, byte [esi + 8]
push eax
call fcn.100c62aa
add esp, 4
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xa4], eax
movzx eax, byte [esi + 9]
push eax
call fcn.100c62aa
add esp, 4
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x10]
lea ecx, [esp + 0x6b0]
mov dword [esp + 0x90], eax
call fcn.10154876
xor edi, edi
push edi
call fcn.1003b84c
add esp, 4
lea ecx, [esp + 0x4a8]
push eax
call fcn.100a78ac
push 1
call fcn.1003b84c
add esp, 4
lea ecx, [esp + 0x4a0]
push eax
call fcn.100a78ac
push 2
call fcn.1003b84c
add esp, 4
lea ecx, [esp + 0x498]
push eax
call fcn.100a78ac
lea esi, [esp + 0xb0]
lea ecx, [esp + 0x64]
mov dword [esi], edi
mov dword [esi + 4], edi
mov byte [esi + 8], 1
push edi
call fcn.1003ce3a
mov ecx, esi
call fcn.100b15a4
test al, al
je 0x101540ec
mov eax, dword [esp + 0x74]
mov edx, 0x10
lea ebx, [esp + 0x18]
lea edi, [esp + 0x24]
lea ecx, [eax - 3]
dec eax
mov dword [esp + 0x70], ecx
xor ecx, ecx
mov dword [esp + 0x9c], eax
inc ecx
test byte [esp + 0x90], 0xf
cmove ecx, edx
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x5c]
mov eax, ecx
add eax, ecx
lea ecx, [ecx*4]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x6c], ecx
mov edx, eax
add edx, eax
lea eax, [eax*4]
mov dword [esp + 0x94], edx
mov dword [esp + 0x68], eax
push dword [esp + 0xa0]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x70]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x41c]
push eax
call fcn.1003ce7a
add esp, 0xc
lea ecx, [esp + 0xb0]
push dword [esp + 0x414]
call fcn.100b15d4
test al, al
je 0x101540ec
push dword [esp + 0xa4]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ebp, ebp
push ebp
push ebp
push eax
push dword [esp + 0x70]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x414]
push eax
call fcn.1003dff1
add esp, 0xc
lea ecx, [esp + 0x4a8]
call fcn.100b1880
push dword [esp + 0x40c]
push eax
lea eax, [esp + 0x418]
push eax
call fcn.10042f27
add esp, 0xc
lea ecx, [esp + 0x3c]
push dword [esp + 0x410]
call fcn.100a78ac
push dword [esp + 0x90]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x70]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x40c]
push eax
call fcn.1003dff1
add esp, 0xc
lea ecx, [esp + 0x4a0]
call fcn.100b1880
push dword [esp + 0x404]
push eax
lea eax, [esp + 0x410]
push eax
call fcn.10042f27
add esp, 0xc
mov ecx, ebx
push dword [esp + 0x408]
call fcn.100a78ac
lea ecx, [esp + 0x7c]
push ebp
call fcn.1003ce3a
mov eax, dword [esp + 0x6e8]
mov al, byte [eax + 8]
add al, 0xf1
cmp al, 0xe
ja case.0x10150959.239
movzx eax, al
jmp dword [eax*4 + 0x101e3b70]
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x48]
push eax
call fcn.1003f72c
mov eax, dword [esp + 0x6e8]
mov al, byte [eax + 9]
cmp al, 0x16
jg 0x10150d8d
mov ecx, eax
add cl, 0xee
cmp cl, 2
jae 0x10152442
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x10150bc9
lea edi, [esp + 0x610]
mov ecx, edi
push dword [esp + 0x78]
push ebx
call fcn.100a7942
mov esi, dword [esp + 0x614]
mov ecx, edi
call fcn.100b1a32
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov eax, esp
lea esi, [esp + 0x10]
mov ecx, eax
push esi
call fcn.1004063e
mov ecx, esi
push 0xff00ff00
call fcn.100404fa
call fcn.10040264
xor ebx, ebx
push ebx
push ebx
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x310]
push eax
call fcn.1003c798
add esp, 0xc
lea ecx, [esp + 8]
push 0xff
call fcn.100404fa
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x304]
push eax
call fcn.1003c798
add esp, 0xc
mov edi, 0x10
push edi
push dword [esp + 0x300]
lea eax, [esp + 0x308]
push eax
call fcn.1003d2db
add esp, 0xc
lea ecx, [esp + 0x4c]
push 0xff0000
call fcn.100404fa
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x2fc]
push eax
call fcn.1003c798
add esp, 0xc
push edi
push dword [esp + 0x2f8]
lea eax, [esp + 0x300]
push eax
call fcn.1003d277
add esp, 0xc
push dword [esp + 0x300]
push dword [esp + 0x2fc]
lea eax, [esp + 0x30c]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x308]
push dword [esp + 0x308]
lea eax, [esp + 0x314]
push eax
call fcn.1003c7b8
add esp, 0xc
lea esi, [esp + 0x608]
mov ecx, esi
push 1
lea ebp, [esp + 0x40]
push ebp
call fcn.100a7942
mov edi, dword [esp + 0x60c]
mov ecx, esi
call fcn.100b1a32
mov ebx, dword [esp + 0x30c]
mov esi, eax
call fcn.10040264
push edi
lea edi, [esp + 0x28]
xor ecx, ecx
push ecx
push eax
push esi
push ebx
lea ebx, [esp + 0x2c]
call fcn.1003bfc4
add esp, 0x14
push dword [esp + 0x6c]
push ebx
lea esi, [esp + 0x18]
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x68]
push ebp
push esi
call fcn.10042f46
add esp, 0xc
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 8]
push eax
call fcn.1003f8dd
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je 0x10152b24
push dword [esp + 0x70]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x54]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x318]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x310]
call fcn.100b15d4
test al, al
jne 0x101509a2
jmp 0x10152b24
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x54]
push eax
call fcn.1003f72c
mov eax, dword [esp + 0x6e8]
mov al, byte [eax + 9]
cmp al, 0x16
jg 0x10152172
mov ecx, eax
add cl, 0xee
cmp cl, 2
jae 0x10153557
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x10150d2d
lea edi, [esp + 0x6a8]
mov ecx, edi
push dword [esp + 0x78]
push ebx
call fcn.100a7942
mov esi, dword [esp + 0x6ac]
mov ecx, edi
call fcn.100b1a32
lea edi, [esp + 0x6a0]
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, edi
push 1
lea ebp, [esp + 0x40]
push ebp
call fcn.100a7942
mov esi, dword [esp + 0x6a4]
mov ecx, edi
call fcn.100b1a32
mov dword [esp + 0x494], esi
mov esi, esp
mov dword [esp + 0x490], eax
lea ecx, [esp + 0x490]
push esi
lea eax, [esp + 0x14]
push eax
call fcn.1014fcbc
push dword [esp + 0x6c]
push ebx
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x68]
push ebp
lea edi, [esp + 0x2c]
push esi
call fcn.10042f46
add esp, 0xc
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
push eax
lea eax, [esp + 0x58]
push eax
push esi
call fcn.1003f8dd
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je 0x10153961
push dword [esp + 0x70]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x60]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x408]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x400]
call fcn.100b15d4
test al, al
jne 0x10150c6b
jmp 0x10153961
cmp al, 0x17
je 0x10150da1
cmp al, 0x2d
je 0x101528cf
cmp al, 0x1b
jne 0x10152b28
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x10150e7d
lea edi, [esp + 0x620]
mov ecx, edi
push dword [esp + 0x78]
push ebx
call fcn.100a7942
mov esi, dword [esp + 0x624]
mov ecx, edi
call fcn.100b1a32
mov ebp, ebx
lea ebx, [esp + 0x618]
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, ebx
push 1
lea eax, [esp + 0x40]
mov edi, eax
push eax
call fcn.100a7942
mov esi, dword [esp + 0x61c]
mov ecx, ebx
mov ebx, ebp
call fcn.100b1a32
mov dword [esp + 0x484], esi
mov esi, esp
mov dword [esp + 0x480], eax
lea ecx, [esp + 0x480]
push esi
lea eax, [esp + 0x14]
push eax
call fcn.1014fcbc
push dword [esp + 0x6c]
push ebp
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x68]
push edi
lea edi, [esp + 0x2c]
push esi
call fcn.10042f46
add esp, 0xc
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
push eax
lea eax, [esp + 0x4c]
push eax
push esi
call fcn.1003f8dd
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je 0x10152b28
push dword [esp + 0x70]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x54]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x31c]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x314]
call fcn.100b15d4
test al, al
jne 0x10150db5
jmp 0x10152b28
xor eax, eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x7c]
mov byte [esp + 0x2c], 1
push eax
call fcn.1003f72c
mov ecx, edi
call fcn.100b15a4
test al, al
je case.0x10150959.239
push dword [esp + 0x74]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x190]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x188]
call fcn.100b15d4
test al, al
je case.0x10150959.239
mov eax, dword [esp + 0x6e8]
mov al, byte [eax + 9]
cmp al, 0x16
jg 0x10151130
mov ecx, eax
add cl, 0xee
cmp cl, 2
jae 0x101515ba
xor edi, edi
lea ebp, [esp + 0x4e8]
inc edi
mov ecx, ebp
push edi
push ebx
call fcn.100a77f4
mov esi, dword [esp + 0x4ec]
mov ecx, ebp
call fcn.100b1948
mov ebx, esp
mov dword [esp + 4], esi
mov dword [esp], eax
lea ecx, [esp + 8]
push ebx
call fcn.1003f76e
push 0xf8
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ebp, ebp
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x184]
push eax
call fcn.1003c798
add esp, 0xc
push 3
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x180]
lea eax, [esp + 0x188]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0xfc00
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x178]
push eax
call fcn.1003c798
add esp, 0xc
push 5
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x174]
lea eax, [esp + 0x17c]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0xf80000
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x170]
push eax
call fcn.1003c798
add esp, 0xc
push 8
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x16c]
lea eax, [esp + 0x174]
push eax
call fcn.1003f8bd
add esp, 0xc
push dword [esp + 0x174]
push dword [esp + 0x170]
lea eax, [esp + 0x180]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x180]
push dword [esp + 0x17c]
lea eax, [esp + 0x18c]
push eax
call fcn.1003c7b8
add esp, 0xc
mov ecx, ebx
push dword [esp + 0x184]
call fcn.1003c884
call fcn.1003c8c6
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x4e0]
mov esi, eax
mov ecx, ebx
push edi
lea eax, [esp + 0x40]
push eax
call fcn.100a7798
mov edi, dword [esp + 0x4e4]
jmp 0x10151546
cmp al, 0x17
je 0x10151390
cmp al, 0x1b
je 0x10151390
mov ecx, esp
cmp al, 0x2d
mov esi, ecx
jne 0x1015156d
xor ebx, ebx
lea esi, [esp + 0x4c8]
inc ebx
mov ecx, esi
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.100a78e6
mov edi, dword [esp + 0x4cc]
mov ecx, esi
call fcn.100b19e4
mov esi, eax
call fcn.1003ddac
push edi
xor ebp, ebp
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov edi, 8
push edi
push eax
lea eax, [esp + 0x14c]
push eax
call fcn.1003d2a9
add esp, 0xc
mov ecx, esp
push dword [esp + 0x144]
call fcn.1003de44
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x148]
push eax
call fcn.1003e771
add esp, 0xc
mov esi, dword [esp + 0x140]
call fcn.1003fe44
push eax
push esi
call fcn.1003c15c
add esp, 8
lea ecx, [esp + 8]
push eax
call fcn.1003f668
push 0xf8
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x13c]
push eax
call fcn.1003c798
add esp, 0xc
push edi
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x138]
lea eax, [esp + 0x140]
push eax
call fcn.1003f89d
add esp, 0xc
push 0xfc00
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x130]
push eax
call fcn.1003c798
add esp, 0xc
push 5
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x12c]
lea eax, [esp + 0x134]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0xf80000
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x128]
push eax
call fcn.1003c798
add esp, 0xc
push 0x13
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x124]
lea eax, [esp + 0x12c]
push eax
call fcn.1003f8bd
add esp, 0xc
push dword [esp + 0x12c]
push dword [esp + 0x128]
lea eax, [esp + 0x138]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x138]
push dword [esp + 0x134]
lea eax, [esp + 0x144]
push eax
call fcn.1003c7b8
add esp, 0xc
lea ecx, [esp + 0x4c]
push dword [esp + 0x13c]
call fcn.1003c884
call fcn.1003c8c6
push ebp
push ebp
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
xor eax, eax
lea ebx, [esp + 0x4c0]
inc eax
mov ecx, ebx
push eax
lea eax, [esp + 0x40]
push eax
call fcn.100a7798
mov edi, dword [esp + 0x4c4]
jmp 0x10151546
xor edi, edi
lea ebp, [esp + 0x4d8]
inc edi
mov ecx, ebp
push edi
push ebx
call fcn.100a77f4
mov esi, dword [esp + 0x4dc]
mov ecx, ebp
call fcn.100b1948
mov ebx, esp
mov dword [esp + 4], esi
mov dword [esp], eax
lea ecx, [esp + 8]
push ebx
call fcn.1003f76e
push 0xf8
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ebp, ebp
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x164]
push eax
call fcn.1003c798
add esp, 0xc
push 8
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x160]
lea eax, [esp + 0x168]
push eax
call fcn.1003f89d
add esp, 0xc
push 0xfc00
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x158]
push eax
call fcn.1003c798
add esp, 0xc
push 5
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x154]
lea eax, [esp + 0x15c]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0xf80000
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x150]
push eax
call fcn.1003c798
add esp, 0xc
push 0x13
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x14c]
lea eax, [esp + 0x154]
push eax
call fcn.1003f8bd
add esp, 0xc
push dword [esp + 0x154]
push dword [esp + 0x150]
lea eax, [esp + 0x160]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x160]
push dword [esp + 0x15c]
lea eax, [esp + 0x16c]
push eax
call fcn.1003c7b8
add esp, 0xc
mov ecx, ebx
push dword [esp + 0x164]
call fcn.1003c884
call fcn.1003c8c6
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x4d0]
mov esi, eax
mov ecx, ebx
push edi
lea eax, [esp + 0x40]
push eax
call fcn.100a7798
mov edi, dword [esp + 0x4d4]
mov ecx, ebx
call fcn.100b18fa
mov ebx, eax
call fcn.1003c8c6
push edi
lea edi, [esp + 0x28]
push ebp
push eax
push ebx
lea ebx, [esp + 0x28]
push esi
lea esi, [esp + 0x14]
call fcn.1003bfc4
add esp, 0x14
push dword [esp + 0x5c]
push ebx
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x60]
lea eax, [esp + 0x40]
push eax
push esi
call fcn.10042f46
add esp, 0xc
push 0
lea eax, [esp + 0x14]
push eax
push esi
call fcn.1003fa51
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
jmp 0x10150efa
mov ecx, esp
cmp al, 0xf
mov esi, ecx
jne 0x1015156d
xor eax, eax
lea edi, [esp + 0x4b8]
inc eax
mov ecx, edi
push eax
push ebx
call fcn.100a7798
mov esi, dword [esp + 0x4bc]
mov ecx, edi
call fcn.100b18fa
mov dword [esp + 4], esi
mov dword [esp], eax
lea eax, [esp + 0x428]
mov ecx, eax
xor eax, eax
inc eax
push eax
lea edi, [esp + 0x28]
lea eax, [esp + 0x40]
push eax
call fcn.100a7798
mov esi, dword [esp + 0x42c]
lea ecx, [esp + 0x428]
call fcn.100b18fa
mov dword [esp + 0x424], esi
mov esi, esp
mov dword [esp + 0x420], eax
lea ecx, [esp + 0x420]
push esi
lea eax, [esp + 0xc]
push eax
call fcn.1011f1e0
jmp 0x1015156d
xor eax, eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x7c]
mov byte [esp + 0x2c], 1
push eax
call fcn.1003f72c
mov ecx, edi
call fcn.100b15a4
test al, al
je case.0x10150959.239
push dword [esp + 0x74]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x224]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x21c]
call fcn.100b15d4
test al, al
je case.0x10150959.239
mov eax, dword [esp + 0x6e8]
mov al, byte [eax + 9]
cmp al, 0x16
jg 0x101518db
mov ecx, eax
add cl, 0xee
cmp cl, 2
jae 0x10151d40
mov ecx, ebx
call fcn.100b1880
xor ecx, ecx
push ecx
push eax
lea eax, [esp + 0x220]
push eax
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x598]
mov ecx, edi
push dword [esp + 0x218]
call fcn.100a78ac
mov esi, dword [esp + 0x59c]
mov ecx, edi
call fcn.100b1880
lea ebx, [esp + 0x3c]
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, ebx
call fcn.100b1880
xor ecx, ecx
push ecx
push eax
lea eax, [esp + 0x21c]
push eax
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x590]
mov ecx, edi
push dword [esp + 0x214]
call fcn.100a78ac
mov esi, dword [esp + 0x594]
mov ecx, edi
call fcn.100b1880
mov dword [esp + 0x474], esi
mov dword [esp + 0x470], eax
lea ecx, [esp + 0x470]
mov eax, esp
push eax
lea eax, [esp + 0xc]
push eax
call fcn.10154938
lea ecx, [esp + 0x18]
call fcn.100b1880
xor ecx, ecx
inc ecx
mov edi, ecx
push ecx
push eax
lea eax, [esp + 0x218]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x588]
mov ecx, ebx
push dword [esp + 0x210]
call fcn.100a78ac
mov esi, dword [esp + 0x58c]
mov ecx, ebx
call fcn.100b1880
lea ecx, [esp + 0x3c]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.100b1880
push edi
lea edi, [esp + 0x28]
push eax
lea eax, [esp + 0x214]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x580]
mov ecx, ebx
push dword [esp + 0x20c]
call fcn.100a78ac
mov esi, dword [esp + 0x584]
mov ecx, ebx
call fcn.100b1880
mov dword [esp + 0x46c], esi
mov dword [esp + 0x468], eax
lea ecx, [esp + 0x468]
mov eax, esp
push eax
lea eax, [esp + 0xc]
push eax
call fcn.10154938
lea ecx, [esp + 0x18]
call fcn.100b1880
mov ecx, 2
push ecx
push eax
lea eax, [esp + 0x210]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x578]
mov ecx, ebx
push dword [esp + 0x208]
call fcn.100a78ac
mov esi, dword [esp + 0x57c]
mov ecx, ebx
call fcn.100b1880
lea ecx, [esp + 0x3c]
mov dword [esp + 4], esi
mov dword [esp], eax
lea ebx, [esp + 0x18]
call fcn.100b1880
mov ecx, 2
push ecx
push eax
lea eax, [esp + 0x20c]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebp, [esp + 0x570]
mov ecx, ebp
push dword [esp + 0x204]
call fcn.100a78ac
mov esi, dword [esp + 0x574]
mov ecx, ebp
call fcn.100b1880
mov dword [esp + 0x464], esi
mov esi, esp
mov dword [esp + 0x460], eax
lea ecx, [esp + 0x460]
jmp 0x10151ce8
cmp al, 0x17
je 0x10151aeb
cmp al, 0x1b
je 0x10151aeb
cmp al, 0x2d
mov esi, esp
jne 0x10151cf3
mov ecx, ebx
call fcn.100b1880
push 5
push eax
lea eax, [esp + 0x1f0]
push eax
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x538]
mov ecx, edi
push dword [esp + 0x1e8]
call fcn.100a78ac
mov esi, dword [esp + 0x53c]
mov ecx, edi
call fcn.100b1880
lea ebx, [esp + 0x3c]
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, ebx
call fcn.100b1880
push 0
push eax
lea eax, [esp + 0x1ec]
push eax
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x530]
mov ecx, edi
push dword [esp + 0x1e4]
call fcn.100a78ac
mov esi, dword [esp + 0x534]
mov ecx, edi
call fcn.100b1880
mov dword [esp + 0x444], esi
mov dword [esp + 0x440], eax
lea ecx, [esp + 0x440]
mov eax, esp
push eax
lea eax, [esp + 0xc]
push eax
call fcn.10154938
lea ecx, [esp + 0x18]
call fcn.100b1880
push 3
push eax
lea eax, [esp + 0x1e8]
push eax
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x528]
mov ecx, edi
push dword [esp + 0x1e0]
call fcn.100a78ac
mov esi, dword [esp + 0x52c]
mov ecx, edi
call fcn.100b1880
mov ecx, ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.100b1880
xor edi, edi
inc edi
push edi
push eax
lea eax, [esp + 0x1e4]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x520]
mov ecx, ebx
push dword [esp + 0x1dc]
call fcn.100a78ac
mov esi, dword [esp + 0x524]
mov ecx, ebx
call fcn.100b1880
mov dword [esp + 0x43c], esi
mov dword [esp + 0x438], eax
lea ecx, [esp + 0x438]
mov eax, esp
push eax
lea eax, [esp + 0xc]
push eax
call fcn.10154938
lea ecx, [esp + 0x18]
call fcn.100b1880
push edi
lea edi, [esp + 0x28]
push eax
lea eax, [esp + 0x1e0]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x518]
mov ecx, ebx
push dword [esp + 0x1d8]
call fcn.100a78ac
mov esi, dword [esp + 0x51c]
mov ecx, ebx
call fcn.100b1880
lea ecx, [esp + 0x3c]
mov dword [esp + 4], esi
mov dword [esp], eax
lea ebx, [esp + 0x18]
call fcn.100b1880
push 2
push eax
lea eax, [esp + 0x1dc]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebp, [esp + 0x510]
mov ecx, ebp
push dword [esp + 0x1d4]
call fcn.100a78ac
mov esi, dword [esp + 0x514]
mov ecx, ebp
call fcn.100b1880
mov dword [esp + 0x434], esi
mov esi, esp
mov dword [esp + 0x430], eax
lea ecx, [esp + 0x430]
jmp 0x10151ce8
mov ecx, ebx
call fcn.100b1880
mov ecx, 2
push ecx
push eax
lea eax, [esp + 0x208]
push eax
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x568]
mov ecx, edi
push dword [esp + 0x200]
call fcn.100a78ac
mov esi, dword [esp + 0x56c]
mov ecx, edi
call fcn.100b1880
lea ebp, [esp + 0x3c]
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, ebp
call fcn.100b1880
xor ecx, ecx
push ecx
push eax
lea eax, [esp + 0x204]
push eax
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x560]
mov ecx, edi
push dword [esp + 0x1fc]
call fcn.100a78ac
mov esi, dword [esp + 0x564]
mov ecx, edi
call fcn.100b1880
mov dword [esp + 0x45c], esi
mov dword [esp + 0x458], eax
lea ecx, [esp + 0x458]
mov eax, esp
push eax
lea eax, [esp + 0xc]
push eax
call fcn.10154938
lea ecx, [esp + 0x18]
call fcn.100b1880
xor ecx, ecx
inc ecx
mov edi, ecx
push ecx
push eax
lea eax, [esp + 0x200]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x558]
mov ecx, ebx
push dword [esp + 0x1f8]
call fcn.100a78ac
mov esi, dword [esp + 0x55c]
mov ecx, ebx
call fcn.100b1880
mov ecx, ebp
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.100b1880
push edi
lea edi, [esp + 0x28]
push eax
lea eax, [esp + 0x1fc]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x550]
mov ecx, ebx
push dword [esp + 0x1f4]
call fcn.100a78ac
mov esi, dword [esp + 0x554]
mov ecx, ebx
call fcn.100b1880
mov dword [esp + 0x454], esi
mov dword [esp + 0x450], eax
lea ecx, [esp + 0x450]
mov eax, esp
push eax
lea eax, [esp + 0xc]
push eax
call fcn.10154938
lea ecx, [esp + 0x18]
call fcn.100b1880
xor ecx, ecx
push ecx
push eax
lea eax, [esp + 0x1f8]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x548]
mov ecx, ebx
push dword [esp + 0x1f0]
call fcn.100a78ac
mov esi, dword [esp + 0x54c]
mov ecx, ebx
call fcn.100b1880
lea ecx, [esp + 0x3c]
mov dword [esp + 4], esi
mov dword [esp], eax
lea ebx, [esp + 0x18]
call fcn.100b1880
mov ecx, 2
push ecx
push eax
lea eax, [esp + 0x1f4]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebp, [esp + 0x540]
mov ecx, ebp
push dword [esp + 0x1ec]
call fcn.100a78ac
mov esi, dword [esp + 0x544]
mov ecx, ebp
call fcn.100b1880
mov dword [esp + 0x44c], esi
mov esi, esp
lea ecx, [esp + 0x448]
mov dword [esp + 0x448], eax
push esi
lea eax, [esp + 0xc]
push eax
call fcn.10154938
push dword [esp + 0x5c]
push ebx
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x60]
lea eax, [esp + 0x40]
push eax
push esi
call fcn.10042f46
add esp, 0xc
push 0
lea eax, [esp + 0x14]
push eax
push esi
call fcn.1003fa51
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
jmp 0x1015165c
cmp al, 0xf
mov esi, esp
jne 0x10151cf3
xor eax, eax
lea esi, [esp + 0x508]
inc eax
mov ecx, esi
push eax
push ebx
call fcn.100a7798
mov edi, dword [esp + 0x50c]
mov ecx, esi
call fcn.100b18fa
mov esi, eax
call fcn.1003c8c6
push edi
xor ebp, ebp
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, esp
push eax
call fcn.1003cdf6
push 0x1c
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x1d0]
push eax
call fcn.1003c798
add esp, 0xc
mov eax, 2
push eax
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x1cc]
lea eax, [esp + 0x1d4]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0x1f
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x1c8]
push eax
call fcn.1003c798
add esp, 0xc
mov eax, 3
push eax
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x1c4]
lea eax, [esp + 0x1cc]
push eax
call fcn.1003f89d
add esp, 0xc
push dword [esp + 0x1cc]
push dword [esp + 0x1c8]
lea eax, [esp + 0x1d8]
push eax
call fcn.1003c7b8
add esp, 0xc
lea eax, [esp + 8]
mov ecx, eax
push dword [esp + 0x1d0]
call fcn.1003c7dc
call fcn.1003c81e
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
lea eax, [esp + 0x3c]
mov ecx, eax
call fcn.100b1880
push ebp
push eax
lea eax, [esp + 0x1c4]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x500]
mov ecx, ebx
push dword [esp + 0x1bc]
call fcn.100a78ac
mov edi, dword [esp + 0x504]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push edi
push ebp
push eax
push ebx
push esi
call fcn.1003bfc4
add esp, 0x14
push 0x600
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x1b8]
push eax
call fcn.1003c798
add esp, 0xc
xor edi, edi
inc edi
push edi
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x1b4]
lea eax, [esp + 0x1bc]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0x7e0
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.1003c798
add esp, 0xc
push 5
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x1ac]
lea eax, [esp + 0x1b4]
push eax
call fcn.1003f89d
add esp, 0xc
push dword [esp + 0x1b4]
push dword [esp + 0x1b0]
lea eax, [esp + 0x1c0]
push eax
call fcn.1003c7b8
add esp, 0xc
lea ecx, [esp + 8]
push dword [esp + 0x1b8]
call fcn.1003c7dc
call fcn.1003c81e
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.100b1880
push edi
push eax
lea eax, [esp + 0x1ac]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x4f8]
mov ecx, ebx
push dword [esp + 0x1a4]
call fcn.100a78ac
mov edi, dword [esp + 0x4fc]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push edi
push ebp
push eax
push ebx
push esi
call fcn.1003bfc4
add esp, 0x14
push 0xe000
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x1a0]
push eax
call fcn.1003c798
add esp, 0xc
mov eax, 3
push eax
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x19c]
lea eax, [esp + 0x1a4]
push eax
call fcn.1003f89d
add esp, 0xc
push 0xf800
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x198]
push eax
call fcn.1003c798
add esp, 0xc
push 8
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x194]
lea eax, [esp + 0x19c]
push eax
call fcn.1003f89d
add esp, 0xc
push dword [esp + 0x19c]
push dword [esp + 0x198]
lea eax, [esp + 0x1a8]
push eax
call fcn.1003c7b8
add esp, 0xc
lea ecx, [esp + 8]
push dword [esp + 0x1a0]
call fcn.1003c7dc
call fcn.1003c81e
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.100b1880
mov ecx, 2
push ecx
push eax
lea eax, [esp + 0x194]
push eax
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x4f0]
mov ecx, ebx
push dword [esp + 0x18c]
call fcn.100a78ac
mov edi, dword [esp + 0x4f4]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push edi
lea edi, [esp + 0x28]
push ebp
push eax
push ebx
lea ebx, [esp + 0x28]
push esi
lea esi, [esp + 0x14]
call fcn.1003bfc4
add esp, 0x14
jmp 0x10151cf3
cmp al, 0x17
je 0x101532bc
cmp al, 0x1b
je 0x101532bc
cmp al, 0x2d
jne 0x10153961
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x101523df
mov ecx, ebx
call fcn.100b1880
xor ebp, ebp
push ebp
push eax
lea eax, [esp + 0x3d8]
push eax
call fcn.10042ef9
add esp, 0xc
xor ebx, ebx
lea esi, [esp + 0x688]
inc ebx
mov ecx, esi
push ebx
push dword [esp + 0x3d4]
call fcn.100bb686
mov edi, dword [esp + 0x68c]
mov ecx, esi
call fcn.100b19e4
mov esi, eax
call fcn.1003ddac
push edi
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, 0xc6
push ecx
push eax
lea eax, [esp + 0x3dc]
push eax
call fcn.1003dc55
add esp, 0xc
mov esi, dword [esp + 0x3d4]
call fcn.1003ddac
push eax
push esi
call fcn.1003c15c
add esp, 8
mov ebx, 8
push ebx
push eax
lea eax, [esp + 0x3e0]
push eax
call fcn.1003d2a9
add esp, 0xc
mov eax, esp
mov ecx, eax
push dword [esp + 0x3d8]
call fcn.1003de44
lea ecx, [esp + 0x18]
call fcn.100b1880
push ebx
push eax
lea eax, [esp + 0x3cc]
push eax
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x680]
inc eax
mov ecx, esi
push eax
push dword [esp + 0x3c8]
call fcn.100bb686
mov edi, dword [esp + 0x684]
mov ecx, esi
call fcn.100b19e4
mov esi, eax
call fcn.1003ddac
push edi
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, 0xc6
push ecx
push eax
lea eax, [esp + 0x3d0]
push eax
call fcn.1003dc55
add esp, 0xc
mov esi, dword [esp + 0x3c8]
call fcn.1003ddac
push eax
push esi
call fcn.1003c15c
add esp, 8
push ebx
push eax
lea eax, [esp + 0x3d4]
push eax
call fcn.1003d2a9
add esp, 0xc
lea ecx, [esp + 0x10]
push dword [esp + 0x3cc]
call fcn.1003de44
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x3c8]
push eax
call fcn.1003e771
add esp, 0xc
mov esi, dword [esp + 0x3c0]
call fcn.1003fe44
push eax
push esi
call fcn.1003c15c
add esp, 8
mov esi, eax
xor eax, eax
lea ebx, [esp + 0x678]
inc eax
mov ecx, ebx
push eax
lea ebp, [esp + 0x40]
push ebp
call fcn.1010200e
mov edi, dword [esp + 0x67c]
mov ecx, ebx
call fcn.10102e66
mov ebx, eax
call fcn.1003fe44
push edi
lea edi, [esp + 0x28]
xor ecx, ecx
push ecx
push eax
push ebx
lea ebx, [esp + 0x28]
push esi
call fcn.1003bfc4
add esp, 0x14
push dword [esp + 0x98]
push ebx
lea eax, [esp + 0x10]
mov esi, eax
push eax
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x94]
push ebp
push esi
call fcn.10042f46
add esp, 0xc
push 2
call fcn.1003c0ec
add esp, 4
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 8]
push eax
call fcn.1003f8dd
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je 0x1015395d
push dword [esp + 0x9c]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x60]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x3e4]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x3dc]
call fcn.100b15d4
test al, al
jne 0x1015219e
jmp 0x1015395d
cmp al, 0xf
jne 0x10152b28
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x1015286f
xor ebx, ebx
lea esi, [esp + 0x5e8]
inc ebx
mov ecx, esi
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.100a78e6
mov edi, dword [esp + 0x5ec]
mov ecx, esi
call fcn.100b19e4
mov esi, eax
call fcn.1003ddac
push edi
xor edi, edi
push edi
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, esp
push eax
call fcn.100403a4
lea eax, [esp + 0x10]
mov ecx, eax
push 0xe000
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x2d0]
push eax
call fcn.1003c798
add esp, 0xc
push 0xd
push dword [esp + 0x2cc]
lea eax, [esp + 0x2d4]
push eax
call fcn.1003d277
add esp, 0xc
lea ecx, [esp + 8]
push 0xf800
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x2c8]
push eax
call fcn.1003c798
add esp, 0xc
push 8
push dword [esp + 0x2c4]
lea eax, [esp + 0x2cc]
push eax
call fcn.1003d277
add esp, 0xc
push dword [esp + 0x2cc]
push dword [esp + 0x2c8]
lea eax, [esp + 0x2d8]
push eax
call fcn.1003c7b8
add esp, 0xc
lea ecx, [esp + 0x4c]
push 0x600
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x2b8]
push eax
call fcn.1003c798
add esp, 0xc
push ebx
push dword [esp + 0x2b4]
lea eax, [esp + 0x2bc]
push eax
call fcn.1003d277
add esp, 0xc
lea ecx, [esp + 0xa8]
push 0x7e0
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xb4]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x2b0]
push eax
call fcn.1003c798
add esp, 0xc
push 5
push dword [esp + 0x2ac]
lea eax, [esp + 0x2b4]
push eax
call fcn.1003d2db
add esp, 0xc
push dword [esp + 0x2b4]
push dword [esp + 0x2b0]
lea eax, [esp + 0x2c0]
push eax
call fcn.1003c7b8
add esp, 0xc
lea ecx, [esp + 0x88]
push 0x1c
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x94]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x2a0]
push eax
call fcn.1003c798
add esp, 0xc
push 0xe
push dword [esp + 0x29c]
lea eax, [esp + 0x2a4]
push eax
call fcn.1003d2db
add esp, 0xc
lea ecx, [esp + 0x80]
push 0x1f
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x8c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x298]
push eax
call fcn.1003c798
add esp, 0xc
push 0x13
push dword [esp + 0x294]
lea eax, [esp + 0x29c]
push eax
call fcn.1003d2db
add esp, 0xc
push dword [esp + 0x29c]
push dword [esp + 0x298]
lea eax, [esp + 0x2a8]
push eax
call fcn.1003c7b8
add esp, 0xc
lea ecx, [esp + 0x54]
push 0xff000000
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x60]
call fcn.1003be3a
add esp, 0x10
push dword [esp + 0x2a0]
push eax
lea eax, [esp + 0x2ac]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x2b8]
push dword [esp + 0x2a8]
lea eax, [esp + 0x2c4]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x2d0]
push dword [esp + 0x2c0]
lea eax, [esp + 0x2dc]
push eax
call fcn.1003c7b8
add esp, 0xc
lea esi, [esp + 0x5e0]
mov ecx, esi
push ebx
lea ebp, [esp + 0x40]
push ebp
call fcn.100a7942
mov edi, dword [esp + 0x5e4]
mov ecx, esi
call fcn.100b1a32
mov ebx, dword [esp + 0x2d4]
mov esi, eax
call fcn.10040264
push edi
lea edi, [esp + 0x28]
xor ecx, ecx
push ecx
push eax
push esi
push ebx
call fcn.1003bfc4
add esp, 0x14
push dword [esp + 0x6c]
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0x18]
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x68]
push ebp
push esi
call fcn.10042f46
add esp, 0xc
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 8]
push eax
call fcn.1003f8dd
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je 0x10152b24
push dword [esp + 0x70]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x54]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x2e0]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x2d8]
call fcn.100b15d4
test al, al
jne 0x1015245e
jmp 0x10152b24
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x10152aca
mov ecx, ebx
call fcn.100b1880
xor ebp, ebp
push ebp
push eax
lea eax, [esp + 0x2f0]
push eax
call fcn.10042ef9
add esp, 0xc
xor ebx, ebx
lea esi, [esp + 0x600]
inc ebx
mov ecx, esi
push ebx
push dword [esp + 0x2ec]
call fcn.100bb686
mov edi, dword [esp + 0x604]
mov ecx, esi
call fcn.100b19e4
mov esi, eax
call fcn.1003ddac
push edi
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ebx, 8
push ebx
push eax
lea eax, [esp + 0x2f4]
push eax
call fcn.1003d2a9
add esp, 0xc
mov eax, esp
mov ecx, eax
push dword [esp + 0x2ec]
call fcn.1003de44
lea ecx, [esp + 0x18]
call fcn.100b1880
push ebx
push eax
lea eax, [esp + 0x2e8]
push eax
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x5f8]
inc eax
mov ecx, esi
push eax
push dword [esp + 0x2e4]
call fcn.100bb686
mov edi, dword [esp + 0x5fc]
mov ecx, esi
call fcn.100b19e4
mov esi, eax
call fcn.1003ddac
push edi
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
push ebx
push eax
lea eax, [esp + 0x2ec]
push eax
call fcn.1003d2a9
add esp, 0xc
lea ecx, [esp + 0x10]
push dword [esp + 0x2e4]
call fcn.1003de44
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x2e4]
push eax
call fcn.1003e771
add esp, 0xc
mov esi, dword [esp + 0x2dc]
call fcn.1003fe44
push eax
push esi
call fcn.1003c15c
add esp, 8
mov esi, eax
xor eax, eax
lea ebx, [esp + 0x5f0]
inc eax
mov ecx, ebx
push eax
lea ebp, [esp + 0x40]
push ebp
call fcn.1010200e
mov edi, dword [esp + 0x5f4]
mov ecx, ebx
call fcn.10102e66
mov ebx, eax
call fcn.1003fe44
push edi
lea edi, [esp + 0x28]
xor ecx, ecx
push ecx
push eax
push ebx
lea ebx, [esp + 0x28]
push esi
call fcn.1003bfc4
add esp, 0x14
push dword [esp + 0x98]
push ebx
lea eax, [esp + 0x10]
mov esi, eax
push eax
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x94]
push ebp
push esi
call fcn.10042f46
add esp, 0xc
push 2
call fcn.1003c0ec
add esp, 4
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 8]
push eax
call fcn.1003f8dd
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je 0x10152b24
push dword [esp + 0x9c]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x54]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x2f8]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x2f0]
call fcn.100b15d4
test al, al
jne 0x101528e3
lea ebx, [esp + 0x18]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x1015325c
mov eax, dword [esp + 0x6e8]
mov al, byte [eax + 9]
cmp al, 0x16
jg 0x10152d21
mov ecx, eax
add cl, 0xee
cmp cl, 2
jae 0x10152db2
xor edi, edi
mov eax, ebx
lea ebx, [esp + 0x5c8]
inc edi
mov ecx, ebx
push edi
push eax
call fcn.100a77f4
mov esi, dword [esp + 0x5cc]
mov ecx, ebx
call fcn.100b1948
mov dword [esp + 4], esi
mov esi, esp
mov dword [esp], eax
lea ecx, [esp + 0x10]
push esi
call fcn.1003f76e
mov ecx, esi
push 0xff00ff00
call fcn.1003ce3a
call fcn.1003b794
xor ebp, ebp
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x28c]
push eax
call fcn.1003c798
add esp, 0xc
lea ecx, [esp + 8]
push 0xff
call fcn.1003ce3a
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x280]
push eax
call fcn.1003c798
add esp, 0xc
mov ebx, 0x10
push ebx
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x27c]
lea eax, [esp + 0x284]
push eax
call fcn.1003f89d
add esp, 0xc
lea ecx, [esp + 0x4c]
push 0xff0000
call fcn.1003ce3a
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x278]
push eax
call fcn.1003c798
add esp, 0xc
push ebx
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x274]
lea eax, [esp + 0x27c]
push eax
call fcn.1003f8bd
add esp, 0xc
push dword [esp + 0x27c]
push dword [esp + 0x278]
lea eax, [esp + 0x288]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x284]
push dword [esp + 0x284]
lea eax, [esp + 0x290]
push eax
call fcn.1003c7b8
add esp, 0xc
lea esi, [esp + 0x5c0]
mov ecx, esi
push edi
lea eax, [esp + 0x40]
push eax
call fcn.100a77f4
mov edi, dword [esp + 0x5c4]
mov ecx, esi
call fcn.100b1948
mov ebx, dword [esp + 0x288]
jmp 0x101530e5
cmp al, 0x17
mov esi, esp
je 0x10152d37
cmp al, 0x2d
je 0x10153102
cmp al, 0x1b
jne 0x10153214
xor eax, eax
mov ebp, ebx
lea ebx, [esp + 0x5d8]
inc eax
mov ecx, ebx
mov edi, eax
push eax
push ebp
call fcn.100a77f4
mov esi, dword [esp + 0x5dc]
mov ecx, ebx
call fcn.100b1948
lea ebx, [esp + 0x5d0]
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, ebx
push edi
lea edi, [esp + 0x28]
lea eax, [esp + 0x40]
push eax
call fcn.100a77f4
mov esi, dword [esp + 0x5d4]
mov ecx, ebx
mov ebx, ebp
call fcn.100b1948
mov dword [esp + 0x47c], esi
mov esi, esp
mov dword [esp + 0x478], eax
lea ecx, [esp + 0x478]
push esi
lea eax, [esp + 0x14]
push eax
call fcn.100ebb6c
jmp 0x10153214
cmp al, 0xf
mov esi, esp
jne 0x10153214
xor ebx, ebx
lea esi, [esp + 0x5a8]
inc ebx
mov ecx, esi
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.100a7798
mov edi, dword [esp + 0x5ac]
mov ecx, esi
call fcn.100b18fa
mov esi, eax
call fcn.1003c8c6
push edi
xor ebp, ebp
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, esp
push eax
call fcn.1003cdf6
push 0xe000
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x264]
push eax
call fcn.1003c798
add esp, 0xc
push 0xd
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x260]
lea eax, [esp + 0x268]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0xf800
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x258]
push eax
call fcn.1003c798
add esp, 0xc
push 8
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x254]
lea eax, [esp + 0x25c]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0x600
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x24c]
push eax
call fcn.1003c798
add esp, 0xc
push ebx
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x248]
lea eax, [esp + 0x250]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0x7e0
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x240]
push eax
call fcn.1003c798
add esp, 0xc
push 5
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x23c]
lea eax, [esp + 0x244]
push eax
call fcn.1003f89d
add esp, 0xc
push 0x1c
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x234]
push eax
call fcn.1003c798
add esp, 0xc
push 0xe
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x230]
lea eax, [esp + 0x238]
push eax
call fcn.1003f89d
add esp, 0xc
push 0x1f
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x228]
push eax
call fcn.1003c798
add esp, 0xc
push 0x13
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x224]
lea eax, [esp + 0x22c]
push eax
call fcn.1003f89d
add esp, 0xc
push 0xff000000
call fcn.1003c0ec
add esp, 4
push dword [esp + 0x224]
push eax
lea eax, [esp + 0x230]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x230]
push dword [esp + 0x22c]
lea eax, [esp + 0x23c]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x23c]
push dword [esp + 0x238]
lea eax, [esp + 0x248]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x248]
push dword [esp + 0x244]
lea eax, [esp + 0x254]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x254]
push dword [esp + 0x250]
lea eax, [esp + 0x260]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x260]
push dword [esp + 0x25c]
lea eax, [esp + 0x26c]
push eax
call fcn.1003c7b8
add esp, 0xc
lea esi, [esp + 0x5a0]
mov ecx, esi
push ebx
lea eax, [esp + 0x40]
push eax
call fcn.100a77f4
mov edi, dword [esp + 0x5a4]
mov ecx, esi
call fcn.100b1948
mov ebx, dword [esp + 0x264]
mov esi, eax
call fcn.1003b794
push edi
lea edi, [esp + 0x28]
push ebp
push eax
push esi
lea esi, [esp + 0x10]
push ebx
lea ebx, [esp + 0x2c]
jmp 0x1015320c
xor ebx, ebx
lea esi, [esp + 0x5b8]
inc ebx
mov ecx, esi
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.100a78e6
mov edi, dword [esp + 0x5bc]
mov ecx, esi
call fcn.100b19e4
mov esi, eax
call fcn.1003ddac
push edi
xor ebp, ebp
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
push 8
push eax
lea eax, [esp + 0x274]
push eax
call fcn.1003d2a9
add esp, 0xc
mov ecx, esp
push dword [esp + 0x26c]
call fcn.1003de44
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x270]
push eax
call fcn.1003e771
add esp, 0xc
mov esi, dword [esp + 0x268]
call fcn.1003fe44
push eax
push esi
call fcn.1003c15c
add esp, 8
lea ecx, [esp + 0x10]
push eax
call fcn.1003f668
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
xor eax, eax
lea ebx, [esp + 0x5b0]
inc eax
mov ecx, ebx
push eax
lea eax, [esp + 0x40]
push eax
call fcn.100a77f4
mov edi, dword [esp + 0x5b4]
mov ecx, ebx
call fcn.100b1948
mov ebx, eax
call fcn.1003b794
push edi
lea edi, [esp + 0x28]
push ebp
push eax
push ebx
lea ebx, [esp + 0x28]
push esi
lea esi, [esp + 0x14]
call fcn.1003bfc4
add esp, 0x14
push dword [esp + 0x5c]
push ebx
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x60]
lea eax, [esp + 0x40]
push eax
push esi
call fcn.10042f46
add esp, 0xc
push 0
lea eax, [esp + 0x4c]
push eax
push esi
call fcn.1003fa51
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je case.0x10150959.239
push dword [esp + 0x74]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x54]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x294]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x28c]
call fcn.100b15d4
test al, al
jne 0x10152b3c
jmp case.0x10150959.239
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x101534f7
lea edi, [esp + 0x698]
mov ecx, edi
push dword [esp + 0x78]
push ebx
call fcn.100a7942
mov esi, dword [esp + 0x69c]
mov ecx, edi
call fcn.100b1a32
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov eax, esp
lea esi, [esp + 0x10]
mov ecx, eax
push esi
call fcn.1004063e
mov ecx, esi
push 0xff00ff00
call fcn.100404fa
call fcn.10040264
xor ebx, ebx
push ebx
push ebx
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x3fc]
push eax
call fcn.1003c798
add esp, 0xc
lea ecx, [esp + 8]
push 0xff
call fcn.100404fa
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x3f0]
push eax
call fcn.1003c798
add esp, 0xc
mov edi, 0x10
push edi
push dword [esp + 0x3ec]
lea eax, [esp + 0x3f4]
push eax
call fcn.1003d2db
add esp, 0xc
lea ecx, [esp + 0x4c]
push 0xff0000
call fcn.100404fa
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push ebx
push ebx
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x3e8]
push eax
call fcn.1003c798
add esp, 0xc
push edi
push dword [esp + 0x3e4]
lea eax, [esp + 0x3ec]
push eax
call fcn.1003d277
add esp, 0xc
push dword [esp + 0x3ec]
push dword [esp + 0x3e8]
lea eax, [esp + 0x3f8]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x3f4]
push dword [esp + 0x3f4]
lea eax, [esp + 0x400]
push eax
call fcn.1003c7b8
add esp, 0xc
lea esi, [esp + 0x690]
mov ecx, esi
push 1
lea ebp, [esp + 0x40]
push ebp
call fcn.100a7942
mov ebx, dword [esp + 0x694]
mov ecx, esi
call fcn.100b1a32
mov edi, dword [esp + 0x3f8]
mov esi, eax
call fcn.10040264
push ebx
lea ebx, [esp + 0x1c]
xor ecx, ecx
push ecx
push eax
push esi
push edi
lea edi, [esp + 0x38]
call fcn.1003bfc4
add esp, 0x14
push dword [esp + 0x6c]
push ebx
lea esi, [esp + 0x18]
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x68]
push ebp
push esi
call fcn.10042f46
add esp, 0xc
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 8]
push eax
call fcn.1003f8dd
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je 0x1015395d
push dword [esp + 0x70]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x60]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x404]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x3fc]
call fcn.100b15d4
test al, al
jne 0x101532d0
jmp 0x1015395d
cmp al, 0xf
jne 0x10153961
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x10153906
xor eax, eax
lea esi, [esp + 0x670]
inc eax
mov ecx, esi
mov ebp, eax
push eax
push ebx
call fcn.100a78e6
mov edi, dword [esp + 0x674]
mov ecx, esi
call fcn.100b19e4
mov esi, eax
call fcn.1003ddac
push edi
xor edi, edi
push edi
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, esp
push eax
call fcn.100403a4
lea eax, [esp + 0x10]
mov ecx, eax
push 0xff000000
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
lea ecx, [esp + 8]
push 0x1c
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
mov ebx, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push ebx
push eax
lea eax, [esp + 0x3b4]
push eax
call fcn.1003c798
add esp, 0xc
push 2
push dword [esp + 0x3b0]
lea eax, [esp + 0x3b8]
push eax
call fcn.1003d277
add esp, 0xc
push esi
push dword [esp + 0x3b4]
lea eax, [esp + 0x3bc]
push eax
call fcn.1003c7b8
add esp, 0xc
lea ecx, [esp + 0x4c]
push 0x600
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x3a4]
push eax
call fcn.1003c798
add esp, 0xc
push ebp
push dword [esp + 0x3a0]
lea eax, [esp + 0x3a8]
push eax
call fcn.1003d277
add esp, 0xc
lea ecx, [esp + 0xa8]
push 0x7e0
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xb4]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x39c]
push eax
call fcn.1003c798
add esp, 0xc
push 5
push dword [esp + 0x398]
lea eax, [esp + 0x3a0]
push eax
call fcn.1003d2db
add esp, 0xc
push dword [esp + 0x3a0]
push dword [esp + 0x39c]
lea eax, [esp + 0x3ac]
push eax
call fcn.1003c7b8
add esp, 0xc
lea ecx, [esp + 0x88]
push 0xe01f
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x94]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x390]
push eax
call fcn.1003c798
add esp, 0xc
push 3
push dword [esp + 0x38c]
lea eax, [esp + 0x394]
push eax
call fcn.1003d2db
add esp, 0xc
lea ecx, [esp + 0x80]
push 0xf800
call fcn.100404fa
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0x8c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10040264
push edi
push edi
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x388]
push eax
call fcn.1003c798
add esp, 0xc
push 8
push dword [esp + 0x384]
lea eax, [esp + 0x38c]
push eax
call fcn.1003d2db
add esp, 0xc
push dword [esp + 0x38c]
push dword [esp + 0x388]
lea eax, [esp + 0x398]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x3a4]
push dword [esp + 0x394]
lea eax, [esp + 0x3b0]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x3b4]
push dword [esp + 0x3ac]
lea eax, [esp + 0x3c0]
push eax
call fcn.1003c7b8
add esp, 0xc
lea esi, [esp + 0x668]
mov ecx, esi
push ebp
lea ebp, [esp + 0x40]
push ebp
call fcn.100a7942
mov edi, dword [esp + 0x66c]
mov ecx, esi
call fcn.100b1a32
mov ebx, dword [esp + 0x3b8]
mov esi, eax
call fcn.10040264
push edi
lea edi, [esp + 0x28]
xor ecx, ecx
push ecx
push eax
push esi
push ebx
lea ebx, [esp + 0x2c]
call fcn.1003bfc4
add esp, 0x14
push dword [esp + 0x6c]
push ebx
lea esi, [esp + 0x18]
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x68]
push ebp
push esi
call fcn.10042f46
add esp, 0xc
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 8]
push eax
call fcn.1003f8dd
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je 0x1015395d
push dword [esp + 0x70]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x60]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x3c4]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x3bc]
call fcn.100b15d4
test al, al
jne 0x10153573
lea ebx, [esp + 0x18]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
jmp 0x10154053
mov eax, dword [esp + 0x6e8]
mov al, byte [eax + 9]
cmp al, 0x16
jg 0x10153a10
mov ecx, eax
add cl, 0xee
cmp cl, 2
jae 0x10153d2a
xor eax, eax
mov ebp, ebx
lea ebx, [esp + 0x660]
inc eax
mov ecx, ebx
mov edi, eax
push eax
push ebp
call fcn.100a77f4
mov esi, dword [esp + 0x664]
mov ecx, ebx
call fcn.100b1948
lea ebx, [esp + 0x658]
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, ebx
push edi
lea edi, [esp + 0x28]
lea eax, [esp + 0x40]
push eax
call fcn.100a77f4
mov esi, dword [esp + 0x65c]
mov ecx, ebx
mov ebx, ebp
call fcn.100b1948
mov dword [esp + 0x48c], esi
mov esi, esp
mov dword [esp + 0x488], eax
lea ecx, [esp + 0x488]
push esi
lea eax, [esp + 0x14]
push eax
call fcn.100ebb6c
jmp 0x1015400b
cmp al, 0x17
je 0x10153b65
cmp al, 0x1b
je 0x10153b65
cmp al, 0x2d
mov esi, esp
jne 0x1015400b
xor ebx, ebx
lea esi, [esp + 0x640]
inc ebx
mov ecx, esi
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.100a78e6
mov edi, dword [esp + 0x644]
mov ecx, esi
call fcn.100b19e4
mov esi, eax
call fcn.1003ddac
push edi
xor ebp, ebp
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
push 0xc6
push eax
lea eax, [esp + 0x360]
push eax
call fcn.1003dc55
add esp, 0xc
mov esi, dword [esp + 0x358]
call fcn.1003ddac
push eax
push esi
call fcn.1003c15c
add esp, 8
push 8
push eax
lea eax, [esp + 0x364]
push eax
call fcn.1003d2a9
add esp, 0xc
mov ecx, esp
push dword [esp + 0x35c]
call fcn.1003de44
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x35c]
push eax
call fcn.1003e771
add esp, 0xc
mov esi, dword [esp + 0x354]
call fcn.1003fe44
push eax
push esi
call fcn.1003c15c
add esp, 8
lea ecx, [esp + 0x10]
push eax
call fcn.1003f668
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
xor eax, eax
lea ebx, [esp + 0x638]
inc eax
mov ecx, ebx
push eax
lea eax, [esp + 0x40]
push eax
call fcn.100a77f4
mov edi, dword [esp + 0x63c]
mov ecx, ebx
call fcn.100b1948
mov ebx, eax
call fcn.1003b794
push edi
lea edi, [esp + 0x28]
push ebp
push eax
push ebx
lea ebx, [esp + 0x28]
push esi
lea esi, [esp + 0x14]
jmp 0x10154003
xor edi, edi
mov eax, ebx
lea ebx, [esp + 0x650]
inc edi
mov ecx, ebx
push edi
push eax
call fcn.100a77f4
mov esi, dword [esp + 0x654]
mov ecx, ebx
call fcn.100b1948
mov dword [esp + 4], esi
mov esi, esp
mov dword [esp], eax
lea ecx, [esp + 0x10]
push esi
call fcn.1003f76e
mov ecx, esi
push 0xff00ff00
call fcn.1003ce3a
call fcn.1003b794
xor ebp, ebp
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x37c]
push eax
call fcn.1003c798
add esp, 0xc
lea ecx, [esp + 8]
push 0xff
call fcn.1003ce3a
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x370]
push eax
call fcn.1003c798
add esp, 0xc
mov ebx, 0x10
push ebx
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x36c]
lea eax, [esp + 0x374]
push eax
call fcn.1003f89d
add esp, 0xc
lea ecx, [esp + 0x4c]
push 0xff0000
call fcn.1003ce3a
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x368]
push eax
call fcn.1003c798
add esp, 0xc
push ebx
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x364]
lea eax, [esp + 0x36c]
push eax
call fcn.1003f8bd
add esp, 0xc
push dword [esp + 0x36c]
push dword [esp + 0x368]
lea eax, [esp + 0x378]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x374]
push dword [esp + 0x374]
lea eax, [esp + 0x380]
push eax
call fcn.1003c7b8
add esp, 0xc
lea esi, [esp + 0x648]
mov ecx, esi
push edi
lea eax, [esp + 0x40]
push eax
call fcn.100a77f4
mov edi, dword [esp + 0x64c]
mov ecx, esi
call fcn.100b1948
mov ebx, dword [esp + 0x378]
jmp 0x10153feb
cmp al, 0xf
mov esi, esp
jne 0x1015400b
xor ebx, ebx
lea esi, [esp + 0x630]
inc ebx
mov ecx, esi
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.100a7798
mov edi, dword [esp + 0x634]
mov ecx, esi
call fcn.100b18fa
mov esi, eax
call fcn.1003c8c6
push edi
xor ebp, ebp
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, esp
push eax
call fcn.1003cdf6
push 0x1c
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x350]
push eax
call fcn.1003c798
add esp, 0xc
push 2
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x34c]
lea eax, [esp + 0x354]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0x600
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x344]
push eax
call fcn.1003c798
add esp, 0xc
push ebx
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x340]
lea eax, [esp + 0x348]
push eax
call fcn.1003f8bd
add esp, 0xc
push 0x7e0
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x338]
push eax
call fcn.1003c798
add esp, 0xc
push 5
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x334]
lea eax, [esp + 0x33c]
push eax
call fcn.1003f89d
add esp, 0xc
push 0xe01f
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x32c]
push eax
call fcn.1003c798
add esp, 0xc
push 3
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x328]
lea eax, [esp + 0x330]
push eax
call fcn.1003f89d
add esp, 0xc
push 0xf800
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x320]
push eax
call fcn.1003c798
add esp, 0xc
push 8
call fcn.1003c0ec
add esp, 4
push eax
push dword [esp + 0x31c]
lea eax, [esp + 0x324]
push eax
call fcn.1003f89d
add esp, 0xc
push 0xff000000
call fcn.1003c0ec
add esp, 4
push dword [esp + 0x31c]
push eax
lea eax, [esp + 0x328]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x328]
push dword [esp + 0x324]
lea eax, [esp + 0x334]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x334]
push dword [esp + 0x330]
lea eax, [esp + 0x340]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x340]
push dword [esp + 0x33c]
lea eax, [esp + 0x34c]
push eax
call fcn.1003c7b8
add esp, 0xc
push dword [esp + 0x34c]
push dword [esp + 0x348]
lea eax, [esp + 0x358]
push eax
call fcn.1003c7b8
add esp, 0xc
lea esi, [esp + 0x628]
mov ecx, esi
push ebx
lea eax, [esp + 0x40]
push eax
call fcn.100a77f4
mov edi, dword [esp + 0x62c]
mov ecx, esi
call fcn.100b1948
mov ebx, dword [esp + 0x350]
mov esi, eax
call fcn.1003b794
push edi
lea edi, [esp + 0x28]
push ebp
push eax
push esi
lea esi, [esp + 0x10]
push ebx
lea ebx, [esp + 0x2c]
call fcn.1003bfc4
add esp, 0x14
push dword [esp + 0x5c]
push ebx
push esi
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x60]
lea eax, [esp + 0x40]
push eax
push esi
call fcn.10042f46
add esp, 0xc
push 0
lea eax, [esp + 0x58]
push eax
push esi
call fcn.1003fa51
add esp, 0xc
push dword [esp + 0x24]
call fcn.1003b892
add esp, 4
push dword [esp + 0x28]
call fcn.1003b7ac
add esp, 4
mov ecx, edi
call fcn.100b15a4
test al, al
je case.0x10150959.239
push dword [esp + 0x74]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x60]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x384]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, edi
push dword [esp + 0x37c]
call fcn.100b15d4
test al, al
jne 0x10153975
push 0
lea eax, [esp + 0x68]
push eax
push edi
call fcn.1003fa51
add esp, 0xc
push dword [esp + 0xb0]
call fcn.1003b892
add esp, 4
push dword [esp + 0xb4]
call fcn.1003b7ac
add esp, 4
lea ecx, [esp + 0xb0]
call fcn.100b15a4
test al, al
jne 0x1015080e
mov eax, dword [esp + 0x6e8]
cmp dword [eax + 0x14], 0
jle 0x1015482a
cmp dword [eax + 0x18], 0
jle 0x1015482a
lea esi, [esp + 0x498]
mov ecx, esi
call fcn.100b1880
lea ebp, [esp + 0x4b4]
push 4
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea edi, [esp + 0x6cc]
inc eax
mov ecx, edi
push eax
push dword [ebp]
call fcn.100a7a46
mov ebp, dword [edi + 4]
mov ecx, edi
call fcn.100b1948
mov dword [esp + 0xb4], ebp
mov ebp, dword [esp + 0x6e8]
lea ebx, [esp + 0xb0]
mov dword [esp + 0xb0], eax
lea ecx, [esp + 0x4c]
push ebx
call fcn.1003f76e
mov ecx, esi
call fcn.100b1880
lea edi, [esp + 0x4b0]
push 8
push eax
push edi
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x6c4]
inc eax
mov ecx, esi
push eax
push dword [edi]
call fcn.100a7a46
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1948
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], eax
lea ecx, [esp + 0xa8]
push ebx
call fcn.1003f76e
xor edi, edi
lea esi, [esp + 0x3c]
lea ecx, [esp + 0x88]
mov dword [esi], edi
mov dword [esi + 4], edi
mov byte [esi + 8], 1
push edi
call fcn.1003ce3a
mov ecx, esi
call fcn.100b15a4
test al, al
je 0x1015482a
lea ebx, [esp + 0x18]
push dword [ebp + 0x18]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x94]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x124]
push eax
call fcn.1003ce7a
add esp, 0xc
lea ecx, [esp + 0x3c]
push dword [esp + 0x11c]
call fcn.100b15d4
test al, al
je 0x1015482a
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x94]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0xb4]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x120]
push eax
call fcn.1003cc25
add esp, 0xc
lea ecx, [esp + 0x80]
push dword [esp + 0x118]
call fcn.1003f634
push edi
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x8c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x118]
push eax
call fcn.1003faf6
add esp, 0xc
push dword [esp + 0xa0]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x8c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x114]
push eax
call fcn.1003ce7a
add esp, 0xc
push dword [esp + 0x10c]
push dword [esp + 0x114]
lea eax, [esp + 0x11c]
push eax
call fcn.1003c798
add esp, 0xc
lea ecx, [esp + 0xb0]
push dword [esp + 0x114]
call fcn.100b91c6
mov eax, dword [esp + 0xc4]
cmp eax, 2
jg 0x101547e0
test eax, eax
jne 0x101547cd
push dword [esp + 0x60]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x10c]
push eax
call fcn.1003dff1
add esp, 0xc
push dword [esp + 0xa4]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x8c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0x104]
push eax
call fcn.1003dff1
add esp, 0xc
lea ecx, [esp + 0x4a8]
call fcn.100b1880
push dword [esp + 0xfc]
push eax
lea eax, [esp + 0x108]
push eax
call fcn.10042f27
add esp, 0xc
push dword [esp + 0x104]
push dword [esp + 0x104]
lea eax, [esp + 0x110]
push eax
call fcn.10042f27
add esp, 0xc
mov ecx, esp
push dword [esp + 0x108]
call fcn.100a78ac
push dword [esp + 0x5c]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0xfc]
push eax
call fcn.1003dff1
add esp, 0xc
push dword [esp + 0x90]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x8c]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0xf4]
push eax
call fcn.1003dff1
add esp, 0xc
lea ecx, [esp + 0x4a0]
call fcn.100b1880
push dword [esp + 0xec]
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.10042f27
add esp, 0xc
push dword [esp + 0xf4]
push dword [esp + 0xf4]
lea eax, [esp + 0x100]
push eax
call fcn.10042f27
add esp, 0xc
lea ecx, [esp + 0x10]
push dword [esp + 0xf8]
call fcn.100a78ac
push 4
call fcn.1003c0ec
add esp, 4
mov esi, eax
push dword [ebp + 0x14]
call fcn.1003c0ec
add esp, 4
mov ebp, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x94]
call fcn.1003be3a
add esp, 0x10
push ebp
mov ebp, dword [esp + 0x6ec]
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.1003dff1
add esp, 0xc
push esi
push dword [esp + 0xe4]
lea eax, [esp + 0xec]
push eax
call fcn.1003dff1
add esp, 0xc
lea ecx, [esp + 0x498]
call fcn.100b1880
push edi
push eax
lea eax, [esp + 0xe4]
push eax
call fcn.10042ef9
add esp, 0xc
lea ecx, [esp + 0x418]
push 1
push dword [esp + 0xe0]
call fcn.100b149c
mov esi, dword [esp + 0x41c]
call fcn.1003c81e
push eax
call fcn.1003b794
add esp, 4
push eax
call fcn.1003b794
add esp, 4
push edi
push edi
push eax
push dword [esp + 0x424]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], eax
call fcn.100b1c30
push dword [esp + 0xe4]
push eax
lea eax, [esp + 0xf0]
push eax
call fcn.10042f27
add esp, 0xc
lea ecx, [esp + 8]
push dword [esp + 0xe8]
call fcn.100a78ac
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov byte [esp + 0x20], 1
lea ecx, [esp + 0x54]
push edi
call fcn.1003ce3a
mov ecx, ebx
call fcn.100b15a4
test al, al
je 0x101547c6
push dword [ebp + 0x14]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push edi
push edi
push eax
push dword [esp + 0x60]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0xe0]
push eax
call fcn.1003ce7a
add esp, 0xc
mov ecx, ebx
push dword [esp + 0xd8]
call fcn.100b15d4
test al, al
je 0x101547c6
mov edi, ebp
xor ebp, ebp
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x60]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x58]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0xdc]
push eax
call fcn.1003cc25
add esp, 0xc
lea ecx, [esp + 0x64]
push dword [esp + 0xd4]
call fcn.1003f634
push ebp
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x70]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.1003faf6
add esp, 0xc
push dword [esp + 0x74]
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
mov ebp, edi
push eax
push dword [esp + 0x70]
call fcn.1003be3a
add esp, 0x10
push esi
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.1003ce7a
add esp, 0xc
push dword [esp + 0xc8]
push dword [esp + 0xd0]
lea eax, [esp + 0xd8]
push eax
call fcn.1003c798
add esp, 0xc
lea ecx, [esp + 0x24]
push dword [esp + 0xd0]
call fcn.100b91c6
mov eax, dword [esp + 0x38]
mov esi, esp
cmp eax, 2
jg 0x1015474b
test eax, eax
jne 0x1015473f
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x14]
push eax
push esi
push ebp
call fcn.1015497e
add esp, 0x10
mov eax, dword [esp + 0x38]
cmp eax, 2
lea eax, [eax + 1]
mov dword [esp + 0x38], eax
jl 0x10154723
lea ebx, [esp + 0x24]
mov ecx, ebx
call fcn.100bb384
push 4
lea eax, [esp + 0xc]
push eax
push ebx
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x5c]
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.10042f46
add esp, 0xc
push dword [esp + 0x60]
push esi
push ebx
call fcn.10042f46
add esp, 0xc
push 0
lea eax, [esp + 0x58]
push eax
push ebx
call fcn.1003fa51
add esp, 0xc
push dword [esp + 0x18]
call fcn.1003b892
add esp, 4
push dword [esp + 0x1c]
call fcn.1003b7ac
add esp, 4
lea ebx, [esp + 0x18]
mov ecx, ebx
call fcn.100b15a4
test al, al
mov edi, 0
jne 0x101545ea
mov eax, dword [esp + 0xc4]
cmp eax, 2
lea eax, [eax + 1]
mov dword [esp + 0xc4], eax
jl 0x10154341
lea esi, [esp + 0xb0]
mov ecx, esi
call fcn.100bb384
push 0
lea eax, [esp + 0x8c]
push eax
push esi
call fcn.1003fa51
add esp, 0xc
push dword [esp + 0x3c]
call fcn.1003b892
add esp, 4
push dword [esp + 0x40]
call fcn.1003b7ac
add esp, 4
lea ecx, [esp + 0x3c]
call fcn.100b15a4
test al, al
jne 0x101541ef
push str.FrameBuffer
lea eax, [esp + 0x6b4]
push eax
call fcn.100b1608
add esp, 8
mov dword [esp + 0x6b0], 0x101df77c
mov esi, eax
mov ecx, dword [esp + 0x6b4]
test ecx, ecx
je 0x1015485d
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [esp + 0x6b8]
call fcn.100034a2
mov eax, esi
add esp, 0x6d4
pop esi
pop edi
pop ebx
pop ebp
ret