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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2dc]
cmp eax, dword [ecx + 8]
jbe 0x8bbc6f
sub esp, 0x35c
lea edi, [esp + 0x294]
xor eax, eax
call fcn.0045fc4b
mov ecx, dword [esp + 0x360]
jmp 0x8ba9c1
mov ecx, dword [esp + 0x360]
mov edx, dword [ecx + 0x6c]
test edx, edx
jle 0x8ba9d1
dec edx
mov dword [ecx + 0x6c], edx
jmp 0x8baa51
mov edx, dword [ecx + 0x2c]
lea edi, [esp + 0x348]
call fcn.0045fc4b
mov ecx, dword [edx + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x348]
mov dword [esp + 4], ecx
call fcn.00405380
lea edi, [esp + 0x12c]
lea esi, [esp + 0x348]
call fcn.0046012e
mov ecx, dword [esp + 0x360]
lea edi, [ecx + 0x30]
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8baa2b
lea esi, [esp + 0x12c]
call fcn.0046012e
jmp 0x8baa48
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x12c]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ecx, dword [esp + 0x360]
mov edx, dword [ecx + 0x6c]
cmp edx, 3
jae 0x8bbc62
lea edx, [edx + edx*4]
lea esi, [ecx + edx*4 + 0x30]
lea edi, [esp + 0x1b8]
call fcn.0046012e
lea edi, [esp + 0x294]
lea esi, [esp + 0x1b8]
call fcn.0046012e
cmp dword [esp + 0x294], 0x12
je 0x8ba9ba
lea edi, [esp + 0x2d0]
lea esi, [esp + 0x1b8]
call fcn.0046012e
nop
mov eax, dword [esp + 0x360]
inc dword [eax + 0x6c]
lea edi, [esp + 0x2e4]
lea esi, [esp + 0x2d0]
call fcn.0046012e
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x2f4]
mov dword [esp + 0x40], edx
lea ebx, [0x9be000]
mov dword [esp], ebx
call fcn.0040b920
mov eax, dword [esp + 4]
mov ecx, dword [0x12ad060]
test ecx, ecx
jne 0x8bab00
mov ecx, dword [esp + 0x360]
mov dword [eax + 8], ecx
jmp 0x8bab1a
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x360]
call fcn.0045f9a0
mov eax, ecx
mov ecx, dword [esp + 0x360]
mov dword [esp + 0x5c], eax
mov dword [eax], 0xe
mov edx, dword [esp + 0x34]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 0xc], edx
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], 0
lea edx, [eax + 0x14]
mov dword [esp + 0x80], edx
jmp 0x8bab5e
mov eax, esi
mov ecx, ebp
mov edx, dword [esp + 0x80]
lea edi, [esp + 0x2bc]
mov ebx, eax
xor eax, eax
call fcn.0045fc4b
mov ecx, dword [esp + 0x360]
jmp 0x8bb0ca
lea edi, [esp + 0x280]
lea esi, [esp + 0xa0]
call fcn.0046012e
nop
mov ecx, dword [esp + 0x360]
inc dword [ecx + 0x6c]
lea edi, [esp + 0x1f4]
lea esi, [esp + 0x280]
call fcn.0046012e
cmp dword [esp + 0x1f4], 0x15
jne 0x8bb1af
nop
mov ebp, dword [esp + 0x360]
mov ecx, edx
mov edx, dword [ebp + 0x6c]
test edx, edx
jle 0x8babd3
dec edx
mov dword [ebp + 0x6c], edx
jmp 0x8bac66
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x64], ecx
lea edi, [esp + 0x348]
call fcn.0045fc4b
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x348]
mov dword [esp + 4], ecx
call fcn.00405380
lea edi, [esp + 0xb4]
lea esi, [esp + 0x348]
call fcn.0046012e
mov ecx, dword [esp + 0x360]
lea edi, [ecx + 0x30]
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bac35
lea esi, [esp + 0xb4]
call fcn.0046012e
jmp 0x8bac52
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xb4]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x360]
mov edx, dword [ebp + 0x6c]
cmp edx, 3
jae 0x8bbc4a
lea edi, [esp + 0xc8]
call fcn.0045fc4b
mov ecx, dword [ebp + 0x6c]
test ecx, ecx
jle 0x8baca9
lea edx, [ecx - 1]
cmp edx, 3
jae 0x8bbc3e
lea ecx, [ecx + ecx*4]
lea esi, [ebp + ecx*4 + 0x1c]
lea edi, [esp + 0xc8]
call fcn.0046012e
jmp 0x8bad4f
mov dword [ebp + 0x6c], 1
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x6c], ecx
lea edi, [esp + 0x348]
call fcn.0045fc4b
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x348]
mov dword [esp + 4], ecx
call fcn.00405380
lea edi, [esp + 0xf0]
lea esi, [esp + 0x348]
call fcn.0046012e
mov ecx, dword [esp + 0x360]
lea edi, [ecx + 0x30]
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bad12
lea esi, [esp + 0xf0]
call fcn.0046012e
jmp 0x8bad2f
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
call fcn.00411080
lea edi, [esp + 0xc8]
lea esi, [esp + 0xf0]
call fcn.0046012e
xor eax, eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x360]
lea edi, [esp + 0x208]
lea esi, [esp + 0xc8]
call fcn.0046012e
lea edi, [esp + 0x230]
call fcn.0045fc4b
jmp 0x8bb450
lea edi, [esp + 0x2a8]
lea esi, [esp + 0x8c]
call fcn.0046012e
nop
inc dword [ebp + 0x6c]
lea edi, [esp + 0x334]
lea esi, [esp + 0x2a8]
call fcn.0046012e
mov ecx, dword [esp + 0x334]
cmp ecx, 6
je 0x8bb63c
cmp ecx, 7
je 0x8bb639
cmp ecx, 2
jne 0x8bb531
mov ecx, dword [esp + 0x33c]
cmp dword [esp + 0x340], 1
jne 0x8bb531
cmp byte [ecx], 0x2c
jne 0x8bb531
lea edi, [esp + 0x258]
call fcn.0045fc4b
jmp 0x8bb976
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x1fc]
mov edx, dword [esp + 0x200]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [0x9e34ec]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.00510fe0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
lea ebx, [0x9b0e80]
mov dword [esp], ebx
call fcn.0040b920
mov eax, dword [esp + 4]
mov ecx, dword [0x12ad060]
test ecx, ecx
jne 0x8bae75
mov ecx, dword [esp + 0x360]
mov dword [eax + 8], ecx
jmp 0x8bae8f
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x360]
call fcn.0045f9a0
mov eax, ecx
mov ecx, dword [esp + 0x360]
mov dword [eax], 0x12
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x14], edx
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8baebd
mov edx, dword [esp + 0x4c]
mov dword [eax + 0xc], edx
jmp 0x8baecd
lea edi, [eax + 0xc]
mov edx, eax
mov eax, dword [esp + 0x4c]
call fcn.0045f9a0
mov eax, edx
mov edx, dword [esp + 0x5c]
mov ebx, dword [edx + 0x18]
lea ebp, [ebx + 1]
mov esi, ecx
mov ecx, dword [edx + 0x14]
mov edi, edx
mov edx, dword [edx + 0x1c]
cmp edx, ebp
jae 0x8baf4d
mov dword [esp + 0x58], eax
lea eax, [0x9b3040]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00448250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x5c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8baf30
mov dword [ebx + 0x14], eax
mov edi, dword [esp + 0x80]
jmp 0x8baf3c
mov edi, dword [esp + 0x80]
call fcn.0045f9a0
mov esi, dword [esp + 0x360]
mov edi, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x58]
lea edx, [ebx + 1]
mov dword [edi + 0x18], edx
mov edx, dword [0x12ad060]
lea ebp, [ecx + ebx*4]
test edx, edx
jne 0x8baf65
mov dword [ecx + ebx*4], eax
jmp 0x8baf70
mov ecx, edi
mov edi, ebp
call fcn.0045f9a0
mov edi, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x48], ecx
lea edx, [ecx + 1]
mov ebx, dword [esi + 0x70]
mov ebp, dword [esi + 0x78]
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x200]
cmp ebp, edx
jb 0x8baf98
mov edx, dword [esp + 0x48]
jmp 0x8bb001
mov dword [esp + 0x44], ecx
mov dword [esp + 0x7c], eax
lea eax, [0x95cee0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00448250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x360]
mov dword [ebx + 0x78], edx
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bafe7
mov dword [ebx + 0x70], eax
jmp 0x8bafef
lea edi, [ebx + 0x70]
call fcn.0045f9a0
mov esi, ebx
mov edi, dword [esp + 0x5c]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x44]
lea ebp, [edx + 1]
mov dword [esi + 0x74], ebp
lea ebp, [ebx + edx*8 + 4]
mov dword [ebp], ecx
mov ecx, dword [0x12ad060]
lea edx, [ebx + edx*8]
test ecx, ecx
jne 0x8bb01f
mov dword [edx], eax
jmp 0x8bb02a
mov ecx, edi
mov edi, edx
call fcn.0045f9a0
mov edi, ecx
mov ecx, dword [esp + 0x368]
cmp ecx, 5
jne 0x8bba57
mov edx, dword [esp + 0x364]
cmp dword [edx], 0x676e6172
jne 0x8bba5e
cmp byte [edx + 4], 0x65
jne 0x8bba5e
cmp dword [edi + 0x18], 2
jge 0x8bba5e
xor eax, eax
mov ebx, edi
lea edi, [esp + 0x30c]
call fcn.0045fc4b
jmp 0x8bbae8
lea edi, [esp + 0x26c]
lea esi, [esp + 0x1a4]
call fcn.0046012e
nop
inc dword [ebp + 0x6c]
lea edi, [esp + 0x1cc]
lea esi, [esp + 0x26c]
call fcn.0046012e
mov ecx, dword [esp + 0x1cc]
mov esi, ebx
lea ebx, [ecx - 0x10]
cmp ebx, 1
jbe 0x8bab53
cmp ecx, 0x15
je 0x8bab53
jmp 0x8bbbd5
mov ecx, dword [esp + 0x360]
mov ebp, dword [ecx + 0x6c]
test ebp, ebp
jle 0x8bb0da
dec ebp
mov dword [ecx + 0x6c], ebp
jmp 0x8bb165
mov edx, dword [ecx + 0x2c]
lea edi, [esp + 0x348]
call fcn.0045fc4b
mov ecx, dword [edx + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x348]
mov dword [esp + 4], ecx
call fcn.00405380
lea edi, [esp + 0x118]
lea esi, [esp + 0x348]
call fcn.0046012e
mov ecx, dword [esp + 0x360]
lea edi, [ecx + 0x30]
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bb134
lea esi, [esp + 0x118]
call fcn.0046012e
jmp 0x8bb151
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ecx, dword [esp + 0x360]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [ecx + 0x6c]
cmp ebp, 3
jae 0x8bbc56
lea ebp, [ebp + ebp*4]
lea esi, [ecx + ebp*4 + 0x30]
lea edi, [esp + 0xa0]
call fcn.0046012e
lea edi, [esp + 0x2bc]
lea esi, [esp + 0xa0]
call fcn.0046012e
cmp dword [esp + 0x2bc], 0x12
je 0x8bb0c3
jmp 0x8bab7a
xor eax, eax
mov ebx, ecx
lea edi, [esp + 0x21c]
call fcn.0045fc4b
mov ecx, dword [esp + 0x360]
jmp 0x8bb334
lea edi, [esp + 0x2f8]
lea esi, [esp + 0x104]
call fcn.0046012e
mov ecx, dword [esp + 0x2f8]
mov edx, dword [esp + 0x36c]
cmp edx, ecx
je 0x8bb409
cmp ecx, 0xd
jg 0x8bb220
cmp ecx, 3
jg 0x8bb209
cmp ecx, 1
je 0x8bb247
cmp ecx, 3
je 0x8bb247
jmp 0x8bb2ef
cmp ecx, 5
je 0x8bb247
lea ebp, [ecx - 9]
cmp ebp, 1
jbe 0x8bb247
cmp ecx, 0xc
jge 0x8bb247
jmp 0x8bb2ef
cmp ecx, 0x13
jg 0x8bb234
cmp ecx, 0xf
je 0x8bb247
cmp ecx, 0x13
je 0x8bb247
jmp 0x8bb2ef
cmp ecx, 0x15
je 0x8bb247
cmp ecx, 0x18
je 0x8bb247
cmp ecx, 0x1d
jne 0x8bb2ef
nop
mov eax, dword [esp + 0x360]
inc dword [eax + 0x6c]
mov dword [esp], eax
call fcn.008bd280
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x24]
mov ebx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x28]
lea esi, [edx + 1]
cmp ebp, esi
jae 0x8bb2ca
mov dword [esp + 0x78], eax
lea eax, [0x9b9b00]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00448250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x5c]
mov dword [ebx + 0x28], edx
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bb2b6
mov dword [ebx + 0x20], eax
jmp 0x8bb2be
lea edi, [ebx + 0x20]
call fcn.0045f9a0
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x5c]
lea ebp, [edx + 1]
mov dword [ecx + 0x24], ebp
mov ebp, dword [0x12ad060]
lea edi, [ebx + edx*4]
test ebp, ebp
jne 0x8bb2e5
mov dword [ebx + edx*4], eax
jmp 0x8bb1ab
call fcn.0045f9a0
jmp 0x8bb1ab
mov eax, dword [esp + 0x360]
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x2f8]
call fcn.0046012e
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x368]
mov dword [esp + 0x1c], edx
call fcn.008b86e0
mov ecx, dword [esp + 0x5c]
jmp 0x8bb1ab
mov ecx, dword [esp + 0x360]
mov edx, dword [ecx + 0x6c]
test edx, edx
jle 0x8bb344
dec edx
mov dword [ecx + 0x6c], edx
jmp 0x8bb3c8
mov edx, dword [ecx + 0x2c]
lea edi, [esp + 0x348]
call fcn.0045fc4b
mov ecx, dword [edx + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x348]
mov dword [esp + 4], ecx
call fcn.00405380
lea edi, [esp + 0x190]
lea esi, [esp + 0x348]
call fcn.0046012e
mov ecx, dword [esp + 0x360]
lea edi, [ecx + 0x30]
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bb39e
lea esi, [esp + 0x190]
call fcn.0046012e
jmp 0x8bb3bb
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ecx, dword [esp + 0x360]
mov ebx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x6c]
cmp edx, 3
jae 0x8bb444
lea edx, [edx + edx*4]
lea esi, [ecx + edx*4 + 0x30]
lea edi, [esp + 0x104]
call fcn.0046012e
lea edi, [esp + 0x21c]
lea esi, [esp + 0x104]
call fcn.0046012e
cmp dword [esp + 0x21c], 0x12
je 0x8bb32d
jmp 0x8bb1c7
mov eax, dword [esp + 0x360]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x364]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0xc], eax
call fcn.008bbc80
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x370], eax
add esp, 0x35c
ret
mov eax, edx
mov ecx, 3
call fcn.0045fa20
mov edx, dword [ebp + 0x6c]
test edx, edx
jle 0x8bb460
dec edx
mov dword [ebp + 0x6c], edx
jmp 0x8bb4ec
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x70], ecx
lea edi, [esp + 0x348]
call fcn.0045fc4b
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x348]
mov dword [esp + 4], ecx
call fcn.00405380
lea edi, [esp + 0x17c]
lea esi, [esp + 0x348]
call fcn.0046012e
mov ecx, dword [esp + 0x360]
lea edi, [ecx + 0x30]
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bb4c2
lea esi, [esp + 0x17c]
call fcn.0046012e
jmp 0x8bb4df
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x17c]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x360]
mov edx, dword [ebp + 0x6c]
cmp edx, 3
jae 0x8bbc32
lea ecx, [edx + edx*4]
lea esi, [ebp + ecx*4 + 0x30]
lea edi, [esp + 0x8c]
call fcn.0046012e
lea edi, [esp + 0x230]
lea esi, [esp + 0x8c]
call fcn.0046012e
cmp dword [esp + 0x230], 0x12
je 0x8bb450
jmp 0x8bad73
cmp dword [esp + 0x208], 0x12
jne 0x8bb5e8
lea edi, [esp + 0x320]
lea esi, [esp + 0x1f4]
call fcn.0046012e
lea edi, [ebp + 0x44]
mov ecx, dword [0x12ad060]
test ecx, ecx
jne 0x8bb56d
lea esi, [esp + 0x208]
call fcn.0046012e
jmp 0x8bb597
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x208]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x360]
lea edi, [ebp + 0x58]
mov ecx, dword [0x12ad060]
test ecx, ecx
jne 0x8bb5b2
lea esi, [esp + 0x320]
call fcn.0046012e
jmp 0x8bb5dc
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x320]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x360]
mov dword [ebp + 0x6c], 3
jmp 0x8bb1af
lea edi, [ebp + 0x44]
mov ecx, dword [0x12ad060]
test ecx, ecx
jne 0x8bb603
lea esi, [esp + 0x1f4]
call fcn.0046012e
jmp 0x8bb62d
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1f4]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x360]
mov dword [ebp + 0x6c], 2
jmp 0x8bb1af
cmp ecx, 6
sete cl
mov byte [ebx + 0x10], cl
lea edi, [esp + 0x244]
call fcn.0045fc4b
mov edx, dword [ebp + 0x6c]
test edx, edx
jle 0x8bb65e
dec edx
mov dword [ebp + 0x6c], edx
jmp 0x8bb6ea
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x74], ecx
lea edi, [esp + 0x348]
call fcn.0045fc4b
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x348]
mov dword [esp + 4], ecx
call fcn.00405380
lea edi, [esp + 0x1e0]
lea esi, [esp + 0x348]
call fcn.0046012e
mov ecx, dword [esp + 0x360]
lea edi, [ecx + 0x30]
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bb6c0
lea esi, [esp + 0x1e0]
call fcn.0046012e
jmp 0x8bb6dd
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1e0]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x360]
mov edx, dword [ebp + 0x6c]
cmp edx, 3
jae 0x8bb96a
lea ecx, [edx + edx*4]
lea esi, [ebp + ecx*4 + 0x30]
lea edi, [esp + 0x154]
call fcn.0046012e
lea edi, [esp + 0x244]
lea esi, [esp + 0x154]
call fcn.0046012e
cmp dword [esp + 0x244], 0x12
je 0x8bb64e
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x1fc]
mov edx, dword [esp + 0x200]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [0x9e34ec]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.00510fe0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], edx
lea ebx, [0x9b0e80]
mov dword [esp], ebx
call fcn.0040b920
mov eax, dword [esp + 4]
mov ecx, dword [0x12ad060]
test ecx, ecx
jne 0x8bb7b1
mov ecx, dword [esp + 0x360]
mov dword [eax + 8], ecx
jmp 0x8bb7cb
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x360]
call fcn.0045f9a0
mov eax, ecx
mov ecx, dword [esp + 0x360]
mov dword [eax], 0x12
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x28]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 0x14], edx
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bb7f9
mov edx, dword [esp + 0x50]
mov dword [eax + 0xc], edx
jmp 0x8bb809
lea edi, [eax + 0xc]
mov edx, eax
mov eax, dword [esp + 0x50]
call fcn.0045f9a0
mov eax, edx
mov edx, dword [esp + 0x5c]
mov ebx, dword [edx + 0x18]
lea ebp, [ebx + 1]
mov esi, ecx
mov ecx, dword [edx + 0x14]
mov edi, edx
mov edx, dword [edx + 0x1c]
cmp edx, ebp
jae 0x8bb882
mov dword [esp + 0x54], eax
lea eax, [0x9b3040]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00448250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x5c]
mov dword [ebx + 0x1c], edx
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bb865
mov dword [ebx + 0x14], eax
jmp 0x8bb871
mov edi, dword [esp + 0x80]
call fcn.0045f9a0
mov esi, dword [esp + 0x360]
mov edi, ebx
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x54]
lea edx, [ebx + 1]
mov dword [edi + 0x18], edx
mov edx, dword [0x12ad060]
lea ebp, [ecx + ebx*4]
test edx, edx
jne 0x8bb89a
mov dword [ecx + ebx*4], eax
jmp 0x8bb8a5
mov ecx, edi
mov edi, ebp
call fcn.0045f9a0
mov edi, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x48], ecx
lea edx, [ecx + 1]
mov ebx, dword [esi + 0x70]
mov ebp, dword [esi + 0x78]
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x200]
cmp ebp, edx
jb 0x8bb8cd
mov edx, dword [esp + 0x48]
jmp 0x8bb936
mov dword [esp + 0x7c], eax
mov dword [esp + 0x44], ecx
lea eax, [0x95cee0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00448250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x360]
mov dword [ebx + 0x78], edx
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bb91c
mov dword [ebx + 0x70], eax
jmp 0x8bb924
lea edi, [ebx + 0x70]
call fcn.0045f9a0
mov esi, ebx
mov edi, dword [esp + 0x5c]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x44]
lea ebp, [edx + 1]
mov dword [esi + 0x74], ebp
lea ebp, [ebx + edx*8 + 4]
mov dword [ebp], ecx
mov ecx, dword [0x12ad060]
lea edx, [ebx + edx*8]
test ecx, ecx
jne 0x8bb954
mov dword [edx], eax
jmp 0x8bb95f
mov ecx, edi
mov edi, edx
call fcn.0045f9a0
mov edi, ecx
xor eax, eax
mov ebx, edi
mov ebp, esi
jmp 0x8bb1af
mov eax, edx
mov ecx, 3
call fcn.0045fa20
mov edx, dword [ebp + 0x6c]
test edx, edx
jle 0x8bb986
dec edx
mov dword [ebp + 0x6c], edx
jmp 0x8bba12
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x60], ecx
lea edi, [esp + 0x348]
call fcn.0045fc4b
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x348]
mov dword [esp + 4], ecx
call fcn.00405380
lea edi, [esp + 0xdc]
lea esi, [esp + 0x348]
call fcn.0046012e
mov ecx, dword [esp + 0x360]
lea edi, [ecx + 0x30]
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bb9e8
lea esi, [esp + 0xdc]
call fcn.0046012e
jmp 0x8bba05
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xdc]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x360]
mov edx, dword [ebp + 0x6c]
cmp edx, 3
jae 0x8bbc26
lea ecx, [edx + edx*4]
lea esi, [ebp + ecx*4 + 0x30]
lea edi, [esp + 0x168]
call fcn.0046012e
lea edi, [esp + 0x258]
lea esi, [esp + 0x168]
call fcn.0046012e
cmp dword [esp + 0x258], 0x12
je 0x8bb976
jmp 0x8badee
mov edx, dword [esp + 0x364]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00409170
mov eax, dword [esp + 8]
lea ecx, [0x95cee0]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x360]
mov dword [esp], eax
lea ecx, [0x9fd2ff]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1b
lea ecx, [esp + 0x84]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.008b82b0
xor eax, eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x360]
jmp 0x8bb1af
mov esi, ebp
mov ebp, dword [esi + 0x6c]
test ebp, ebp
jle 0x8bbaf8
dec ebp
mov dword [esi + 0x6c], ebp
jmp 0x8bbb8b
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x68], ecx
lea edi, [esp + 0x348]
call fcn.0045fc4b
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x348]
mov dword [esp + 4], ecx
call fcn.00405380
lea edi, [esp + 0x140]
lea esi, [esp + 0x348]
call fcn.0046012e
mov ecx, dword [esp + 0x360]
lea edi, [ecx + 0x30]
mov edx, dword [0x12ad060]
test edx, edx
jne 0x8bbb5a
lea esi, [esp + 0x140]
call fcn.0046012e
jmp 0x8bbb77
lea eax, [0x9a9f00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x140]
mov dword [esp + 8], eax
call fcn.00411080
xor eax, eax
mov edx, dword [esp + 0x364]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x360]
mov ebp, dword [esi + 0x6c]
cmp ebp, 3
jae 0x8bbc1a
lea ecx, [ebp + ebp*4]
lea ecx, [esi + ecx*4 + 0x30]
lea edi, [esp + 0x1a4]
mov ebp, esi
mov esi, ecx
call fcn.0046012e
lea edi, [esp + 0x30c]
lea esi, [esp + 0x1a4]
call fcn.0046012e
cmp dword [esp + 0x30c], 0x12
je 0x8bbae6
jmp 0x8bb076
mov dword [esp], ebp
lea eax, [0xa043e2]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x23
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.008b82b0
mov ecx, dword [esp + 0x368]
mov edx, dword [esp + 0x364]
jmp 0x8bba5e
mov eax, ebp
mov ecx, 3
call fcn.0045fa20
mov eax, edx
mov ecx, 3
call fcn.0045fa20
mov eax, edx
mov ecx, 3
call fcn.0045fa20
mov eax, edx
mov ecx, 3
call fcn.0045fa20
mov eax, edx
mov ecx, 3
call fcn.0045fa20
mov eax, ebp
mov ecx, 3
call fcn.0045fa20
mov eax, edx
mov ecx, 3
call fcn.0045fa20
nop
call fcn.0045e560
jmp fcn.008ba980