Function at 0x5bec00
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x7a8fda
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa34
push ebx
push esi
mov esi, ecx
push edi
xor ebx, ebx
mov edi, dword [esi + 0x516d1c]
cmp edi, ebx
jl 0x5c5d5d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
cmp ecx, ebx
mov dword [esp + 0x70], ecx
jl 0x5c5d5d
mov ecx, dword [eax + 0x28]
cmp ecx, ebx
mov dword [esp + 0x244], ecx
jge 0x5bec5d
mov dword [esp + 0x244], ebx
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x2c]
mov eax, 0x7cab08
mov dword [esp + 0x214], ecx
mov dword [esp + 0x218], edx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa48], ebx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ebx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x158], ebx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ebx
mov dword [esp + 0x210], ebx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x208], ebx
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ebx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ebx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x180], ebx
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x130], ebx
xor eax, eax
mov byte [esp + 0xa48], 0xb
mov dword [esp + 0x40], eax
cmp dword [esi + edi*4 + 0xdc], ebx
jle 0x5beed3
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add ecx, edx
mov edx, dword [ecx + 0x10]
and edx, 0xf
cmp dl, 1
jne 0x5beebf
mov edx, dword [esp + 0x70]
cmp dword [ecx + 0x18], edx
jne 0x5beebf
cmp dword [ecx + 0x14], ebx
jne 0x5beebf
mov dl, byte [ecx + 9]
test dl, dl
jne 0x5beebf
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xac]
push eax
push ecx
lea ecx, [esp + 0xac]
call fcn.005fc280
mov edx, dword [esp + 0x40]
mov ecx, esi
push edx
push edi
call fcn.0055e9e0
cmp eax, ebx
mov dword [esp + 0x30], eax
jle 0x5bf0b9
mov ecx, dword [esp + 0xd0]
push eax
push ecx
lea ecx, [esp + 0xd0]
call fcn.005fc280
mov edx, dword [esp + 0x30]
mov dword [esp + 0x40], edx
mov eax, edx
mov ecx, dword [esi + edi*4 + 0xdc]
inc eax
cmp eax, ecx
mov dword [esp + 0x40], eax
jl 0x5bee3c
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x78]
add eax, 0xbe8
push eax
call fcn.007605f0
mov ecx, dword [esp + 0x78]
mov byte [esp + 0xa48], 0x18
mov eax, dword [ecx - 8]
cmp eax, ebx
jne 0x5bf265
lea ecx, [esp + 0x78]
mov byte [esp + 0xa48], 0xb
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x12c]
mov byte [esp + 0xa48], 0x19
cmp eax, ebx
je 0x5bef35
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0xa48], 0x1a
cmp eax, ebx
je 0x5bef58
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x13c], esi
mov eax, dword [esp + 0x140]
mov byte [esp + 0xa48], 0x1b
cmp eax, ebx
je 0x5bef7b
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0xa48], 0x1c
cmp eax, ebx
je 0x5bef9e
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x200], esi
mov eax, dword [esp + 0x204]
mov byte [esp + 0xa48], 0x1d
cmp eax, ebx
je 0x5befc1
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0xa48], 0x1e
cmp eax, ebx
je 0x5befe4
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xf4]
mov byte [esp + 0xa48], 0x1f
cmp eax, ebx
je 0x5bf007
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0xe0]
mov byte [esp + 0xa48], 0x20
cmp eax, ebx
je 0x5bf02a
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0xa48], 0x21
cmp eax, ebx
je 0x5bf04d
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x10c]
mov byte [esp + 0xa48], 0x22
cmp eax, ebx
je 0x5bf070
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xcc]
mov byte [esp + 0xa48], 0x23
cmp eax, ebx
je 0x5bf093
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa48], 0x24
cmp eax, ebx
je 0x5c5d5d
jmp 0x5c5d54
mov esi, 0x7cab08
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x12c]
mov byte [esp + 0xa48], 0xc
cmp eax, ebx
je 0x5bf0e1
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0xa48], 0xd
cmp eax, ebx
je 0x5bf104
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x13c], esi
mov eax, dword [esp + 0x140]
mov byte [esp + 0xa48], 0xe
cmp eax, ebx
je 0x5bf127
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0xa48], 0xf
cmp eax, ebx
je 0x5bf14a
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x200], esi
mov eax, dword [esp + 0x204]
mov byte [esp + 0xa48], 0x10
cmp eax, ebx
je 0x5bf16d
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0xa48], 0x11
cmp eax, ebx
je 0x5bf190
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xf4]
mov byte [esp + 0xa48], 0x12
cmp eax, ebx
je 0x5bf1b3
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0xe0]
mov byte [esp + 0xa48], 0x13
cmp eax, ebx
je 0x5bf1d6
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0xa48], 0x14
cmp eax, ebx
je 0x5bf1f9
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x10c]
mov byte [esp + 0xa48], 0x15
cmp eax, ebx
je 0x5bf21c
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xcc]
mov byte [esp + 0xa48], 0x16
cmp eax, ebx
je 0x5bf23f
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa48], 0x17
cmp eax, ebx
je 0x5c5d5d
jmp 0x5c5d54
push 0x829a3c
lea ecx, [esp + 0x7c]
call fcn.0075cca2
lea edx, [esp + 0x30]
push eax
push edx
lea ecx, [esp + 0x80]
mov dword [esp + 0x3c], eax
call fcn.0075cc08
mov eax, dword [esp + 0x30]
mov byte [esp + 0xa48], 0x25
push eax
call fcn.00749c29
lea ecx, [eax + eax*4]
add esp, 4
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
mov cl, byte [edx + ecx + 9]
test cl, cl
jne 0x5bf2c8
mov edx, dword [esp + 0x194]
push eax
push edx
lea ecx, [esp + 0x194]
jmp 0x5bf2dd
cmp cl, 1
jne 0x5bf2e2
push eax
mov eax, dword [esp + 0x20c]
push eax
lea ecx, [esp + 0x208]
call fcn.005fc280
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x74]
mov eax, dword [ecx - 8]
mov ecx, dword [esp + 0x34]
sub eax, ecx
lea ecx, [esp + 0x78]
dec eax
push eax
push edx
call fcn.0075cb8c
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0xa4c], 0x26
call fcn.007609b4
lea ecx, [esp + 0x74]
mov byte [esp + 0xa48], 0x25
call fcn.0076087b
lea ecx, [esp + 0x30]
mov byte [esp + 0xa48], 0x18
call fcn.0076087b
mov eax, dword [esp + 0x78]
cmp dword [eax - 8], ebx
jne 0x5bf265
mov ecx, dword [esi + edi*4 + 0xdc]
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x40], eax
jle 0x5bf42d
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add ecx, edx
mov edx, dword [ecx + 0x10]
and edx, 0xf
cmp dl, 2
jne 0x5bf419
mov edx, dword [ecx + 0x18]
cmp edx, dword [esp + 0x70]
jne 0x5bf419
cmp dword [ecx + 0x14], ebx
jne 0x5bf419
mov dl, byte [ecx + 9]
test dl, dl
jne 0x5bf419
mov edx, dword [esp + 0x194]
xor ecx, ecx
cmp edx, ebx
jle 0x5bf3c8
mov edx, dword [esp + 0x190]
jmp 0x5bf3b1
mov edx, dword [esp + 0x34]
cmp dword [edx], eax
je 0x5bf419
add edx, 4
inc ecx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x194]
cmp ecx, edx
jl 0x5bf3ad
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x110]
push eax
push ecx
lea ecx, [esp + 0x110]
call fcn.005fc280
mov edx, dword [esp + 0x40]
mov ecx, esi
push edx
push edi
call fcn.0055e9e0
cmp eax, ebx
mov dword [esp + 0x30], eax
jle 0x5bf6a5
mov ecx, dword [esp + 0x158]
push eax
push ecx
lea ecx, [esp + 0x158]
call fcn.005fc280
mov edx, dword [esp + 0x30]
mov dword [esp + 0x40], edx
mov eax, edx
mov ecx, dword [esi + edi*4 + 0xdc]
inc eax
cmp eax, ecx
mov dword [esp + 0x40], eax
jl 0x5bf355
mov eax, dword [esp + 0x194]
cmp eax, ebx
jle 0x5c5ba0
cmp eax, dword [esp + 0x208]
jne 0x5c5ba0
mov dword [esp + 0x1a8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
cmp eax, ebx
mov dword [esp + 0x308], ecx
mov dword [esp + 0x104], eax
jl 0x5c59e3
cmp eax, 4
jge 0x5c59e3
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x9c]
add edx, 0x30
push edx
call fcn.007608e9
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x98]
add eax, 0x418
mov byte [esp + 0xa48], 0x57
push eax
call fcn.007608e9
mov ecx, dword [esp + 0x9c]
mov byte [esp + 0xa48], 0x58
cmp dword [ecx - 8], ebx
jne 0x5bf862
lea ecx, [esp + 0x98]
mov byte [esp + 0xa48], 0x57
call fcn.0076087b
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa48], 0x18
call fcn.0076087b
lea ecx, [esp + 0x78]
mov byte [esp + 0xa48], 0xb
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x12c]
mov byte [esp + 0xa48], 0x59
cmp eax, ebx
je 0x5bf521
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0xa48], 0x5a
cmp eax, ebx
je 0x5bf544
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x13c], esi
mov eax, dword [esp + 0x140]
mov byte [esp + 0xa48], 0x5b
cmp eax, ebx
je 0x5bf567
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0xa48], 0x5c
cmp eax, ebx
je 0x5bf58a
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x200], esi
mov eax, dword [esp + 0x204]
mov byte [esp + 0xa48], 0x5d
cmp eax, ebx
je 0x5bf5ad
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0xa48], 0x5e
cmp eax, ebx
je 0x5bf5d0
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xf4]
mov byte [esp + 0xa48], 0x5f
cmp eax, ebx
je 0x5bf5f3
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0xe0]
mov byte [esp + 0xa48], 0x60
cmp eax, ebx
je 0x5bf616
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0xa48], 0x61
cmp eax, ebx
je 0x5bf639
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x10c]
mov byte [esp + 0xa48], 0x62
cmp eax, ebx
je 0x5bf65c
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xcc]
mov byte [esp + 0xa48], 0x63
cmp eax, ebx
je 0x5bf67f
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa48], 0x64
cmp eax, ebx
je 0x5c5d5d
jmp 0x5c5d54
lea ecx, [esp + 0x78]
mov byte [esp + 0xa48], 0xb
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x12c]
mov byte [esp + 0xa48], 0x27
cmp eax, ebx
je 0x5bf6de
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0xa48], 0x28
cmp eax, ebx
je 0x5bf701
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x13c], esi
mov eax, dword [esp + 0x140]
mov byte [esp + 0xa48], 0x29
cmp eax, ebx
je 0x5bf724
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0xa48], 0x2a
cmp eax, ebx
je 0x5bf747
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x200], esi
mov eax, dword [esp + 0x204]
mov byte [esp + 0xa48], 0x2b
cmp eax, ebx
je 0x5bf76a
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0xa48], 0x2c
cmp eax, ebx
je 0x5bf78d
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xf4]
mov byte [esp + 0xa48], 0x2d
cmp eax, ebx
je 0x5bf7b0
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0xe0]
mov byte [esp + 0xa48], 0x2e
cmp eax, ebx
je 0x5bf7d3
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0xa48], 0x2f
cmp eax, ebx
je 0x5bf7f6
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x10c]
mov byte [esp + 0xa48], 0x30
cmp eax, ebx
je 0x5bf819
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xcc]
mov byte [esp + 0xa48], 0x31
cmp eax, ebx
je 0x5bf83c
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa48], 0x32
cmp eax, ebx
je 0x5c5d5d
jmp 0x5c5d54
mov edx, dword [esp + 0x98]
cmp dword [edx - 8], ebx
jne 0x5bf882
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x98]
push eax
call fcn.007609b4
mov eax, 0x7cb8c8
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2cc], ebx
mov dword [esp + 0x2c8], ebx
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2d4], ebx
mov dword [esp + 0x2e0], ebx
mov dword [esp + 0x2dc], ebx
mov dword [esp + 0x2d8], ebx
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa48], 0x66
push ecx
lea ecx, [esp + 0x84]
call fcn.007605f0
mov edx, dword [esp + 0x80]
mov byte [esp + 0xa48], 0x67
mov eax, dword [edx - 8]
cmp eax, ebx
je 0x5bf9ee
push 0x829a3c
lea ecx, [esp + 0x84]
call fcn.0075cca2
cmp eax, 0xffffffff
mov dword [esp + 0x30], eax
je 0x5bf9ee
lea ecx, [esp + 0x8c]
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.0075cc08
mov edx, dword [esp + 0x8c]
mov byte [esp + 0xa48], 0x68
push edx
call fcn.00749c29
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x2c8]
fild dword [esp + 0x38]
add esp, 4
fstp qword [esp + 0x11c]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
push eax
push ecx
push edx
lea ecx, [esp + 0x2c8]
call fcn.00422b50
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax - 8]
sub eax, ecx
lea ecx, [esp + 0x74]
dec eax
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.0075cb8c
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0xa4c], 0x69
call fcn.007609b4
lea ecx, [esp + 0x74]
mov byte [esp + 0xa48], 0x68
call fcn.0076087b
lea ecx, [esp + 0x8c]
mov byte [esp + 0xa48], 0x67
call fcn.0076087b
mov edx, dword [esp + 0x80]
cmp dword [edx - 8], ebx
jne 0x5bf903
lea eax, [esp + 0x98]
lea ecx, [esp + 0x84]
push eax
call fcn.007605f0
mov ecx, dword [esp + 0x84]
mov byte [esp + 0xa48], 0x6a
cmp dword [ecx - 8], ebx
je 0x5bfb07
push 0x829a3c
lea ecx, [esp + 0x88]
call fcn.0075cca2
cmp eax, 0xffffffff
mov dword [esp + 0x30], eax
je 0x5bfb07
mov edx, eax
lea eax, [esp + 0x8c]
push edx
push eax
lea ecx, [esp + 0x8c]
call fcn.0075cc08
mov ecx, dword [esp + 0x8c]
mov byte [esp + 0xa48], 0x6b
push ecx
call fcn.00749c29
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x2dc]
fild dword [esp + 0x38]
add esp, 4
fstp qword [esp + 0x11c]
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x11c]
push edx
push eax
push ecx
lea ecx, [esp + 0x2dc]
call fcn.00422b50
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x30]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x84]
dec eax
push eax
lea eax, [esp + 0x78]
push eax
call fcn.0075cb8c
push eax
lea ecx, [esp + 0x88]
mov byte [esp + 0xa4c], 0x6c
call fcn.007609b4
lea ecx, [esp + 0x74]
mov byte [esp + 0xa48], 0x6b
call fcn.0076087b
lea ecx, [esp + 0x8c]
mov byte [esp + 0xa48], 0x6a
call fcn.0076087b
mov ecx, dword [esp + 0x84]
cmp dword [ecx - 8], ebx
jne 0x5bfa1a
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x2c4]
cmp ecx, eax
je 0x5bfb6e
cmp eax, ebx
jle 0x5bfb6e
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x9c]
push edx
call fcn.00749c34
fstp qword [esp + 0x120]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x2c8]
add esp, 4
push eax
push ecx
push edx
lea ecx, [esp + 0x2c8]
call fcn.00422b50
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x30], eax
jne 0x5bfb21
mov eax, dword [esp + 0x1a8]
cmp dword [esp + 0x2d8], eax
je 0x5bfbcc
cmp eax, ebx
jle 0x5bfbcc
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x98]
push eax
call fcn.00749c34
fstp qword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x2dc]
add esp, 4
push ecx
push edx
push eax
lea ecx, [esp + 0x2dc]
call fcn.00422b50
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x30], eax
jne 0x5bfb7f
mov eax, dword [esp + 0x1a8]
mov ecx, 0x7cab08
mov dword [esp + 0x268], ebx
mov dword [esp + 0x264], ecx
mov dword [esp + 0x274], ebx
mov dword [esp + 0x270], ebx
mov dword [esp + 0x26c], ebx
mov dword [esp + 0x2ec], ecx
mov dword [esp + 0x2f0], ebx
mov dword [esp + 0x2fc], ebx
mov dword [esp + 0x2f8], ebx
mov dword [esp + 0x2f4], ebx
cmp eax, ebx
mov byte [esp + 0xa48], 0x6e
mov dword [esp + 0x40], ebx
jle 0x5c0853
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [ecx + edx*4]
lea ebx, [ecx + ecx*4]
lea ecx, [ecx + ebx*2]
shl ecx, 4
mov ebx, dword [ecx + eax]
mov dword [esp + 0x1f8], ebx
mov ecx, dword [ecx + eax + 4]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x204]
mov ecx, dword [ecx + edx*4]
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
shl ecx, 4
mov edx, dword [ecx + eax]
mov dword [esp + 0x1f0], edx
mov eax, dword [ecx + eax + 4]
xor ecx, ecx
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0xac]
cmp eax, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ecx
jle 0x5c0c1f
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0xcc]
mov ebx, dword [ecx + eax*4]
mov eax, dword [edx + eax*4]
cmp ebx, eax
mov dword [esp + 0xc], eax
jge 0x5bfd6a
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x5bfd1e
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1f4]
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x1f4]
push ecx
mov ecx, dword [esp + 0x204]
push ebx
push edx
mov edx, dword [esp + 0x208]
push eax
push ecx
push edx
mov ecx, esi
call fcn.005ce3c0
test eax, eax
je 0x5bfd6a
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], 1
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x88], eax
jmp 0x5bfd6a
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x1f4]
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x1f4]
push edx
mov edx, dword [esp + 0x204]
push ebx
push eax
mov eax, dword [esp + 0x208]
push ecx
push edx
push eax
mov ecx, esi
call fcn.005ce3c0
test eax, eax
je 0x5bfd6a
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
mov ecx, dword [esp + 0x48]
jne 0x5bfd84
cmp dword [esp + 0x6c], ecx
jne 0x5bfd84
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
inc eax
cmp eax, ecx
mov dword [esp + 0x2c], eax
jge 0x5c0822
jmp 0x5bfca3
mov edx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x104]
test edx, edx
je 0x5bff59
cmp edx, 1
je 0x5bff59
cmp eax, dword [esp + 0x68]
jle 0x5bfdeb
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x88], edx
mov edx, eax
mov eax, dword [esp + 0x68]
mov ebx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ebx
jmp 0x5bfdf7
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x4c]
lea ebx, [edx + edx*4]
lea edx, [edx + ebx*2]
mov ebx, dword [esi + edi*4 + 0xf0]
shl edx, 4
mov dword [esp + 0x2c], edx
mov edx, dword [ebx + edx + 4]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
mov edx, dword [edx + ebx]
push edx
push ecx
push eax
call fcn.004fb030
fcomp qword [0x7cb878]
fnstsw ax
test ah, 1
je 0x5bfe4e
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax + ebx]
mov dword [esp + 0x44], ecx
mov edx, dword [eax + ebx + 4]
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x88]
lea ecx, [eax + eax*4]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl ebx, 4
mov edx, ebx
mov dword [esp + 0x30], ebx
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x48]
mov ecx, dword [edx]
mov edx, dword [esp + 0x4c]
push ecx
push edx
push eax
call fcn.004fb030
fcomp qword [0x7cb878]
fnstsw ax
test ah, 1
je 0x5bfea4
add ebx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [ebx]
mov dword [esp + 0x44], ecx
mov edx, dword [ebx + 4]
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl ebx, 4
mov edx, ebx
mov dword [esp + 0xc], ebx
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [edx]
mov edx, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.004fb030
fcomp qword [0x7cb878]
fnstsw ax
test ah, 1
je 0x5bfef7
add ebx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [ebx]
mov dword [esp + 0x68], ecx
mov edx, dword [ebx + 4]
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x28]
mov edx, dword [esi + edi*4 + 0xf0]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x6c]
shl eax, 4
mov dword [esp + 0xa0], eax
add eax, edx
mov edx, dword [eax + 4]
push edx
mov edx, dword [esp + 0x6c]
mov eax, dword [eax]
push eax
push ecx
push edx
call fcn.004fb030
fcomp qword [0x7cb878]
fnstsw ax
test ah, 1
je 0x5c0101
mov eax, dword [esp + 0xa0]
mov ecx, dword [esi + edi*4 + 0xf0]
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 4]
jmp 0x5c00fd
cmp ecx, dword [esp + 0x6c]
jge 0x5bff9f
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x88], edx
mov edx, eax
mov eax, dword [esp + 0x68]
mov ebx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ebx
jmp 0x5bffab
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x4c]
lea ebx, [edx + edx*4]
lea edx, [edx + ebx*2]
mov ebx, dword [esi + edi*4 + 0xf0]
shl edx, 4
mov dword [esp + 0x2c], edx
mov edx, dword [ebx + edx + 4]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
mov edx, dword [edx + ebx]
push edx
push ecx
push eax
call fcn.004fb030
fcomp qword [0x7cb878]
fnstsw ax
test ah, 1
je 0x5c0002
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax + ebx]
mov dword [esp + 0x44], ecx
mov edx, dword [eax + ebx + 4]
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x88]
lea ecx, [eax + eax*4]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl ebx, 4
mov edx, ebx
mov dword [esp + 0x30], ebx
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x48]
mov ecx, dword [edx]
mov edx, dword [esp + 0x4c]
push ecx
push edx
push eax
call fcn.004fb030
fcomp qword [0x7cb878]
fnstsw ax
test ah, 1
je 0x5c0058
add ebx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [ebx]
mov dword [esp + 0x44], ecx
mov edx, dword [ebx + 4]
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl ebx, 4
mov edx, ebx
mov dword [esp + 0xc], ebx
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [edx]
mov edx, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.004fb030
fcomp qword [0x7cb878]
fnstsw ax
test ah, 1
je 0x5c00ab
add ebx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [ebx]
mov dword [esp + 0x68], ecx
mov edx, dword [ebx + 4]
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x28]
lea ecx, [eax + eax*4]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl ebx, 4
mov edx, ebx
mov dword [esp + 0xa0], ebx
add edx, eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [edx]
mov edx, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.004fb030
fcomp qword [0x7cb878]
fnstsw ax
test ah, 1
je 0x5c0101
add ebx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [ebx]
mov dword [esp + 0x68], ecx
mov edx, dword [ebx + 4]
mov dword [esp + 0x6c], edx
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xdc]
push eax
mov eax, dword [esp + 0xe8]
push eax
call fcn.005fc280
mov edx, dword [esp + 0x204]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esi + edi*4 + 0xdc]
mov eax, dword [edx + ecx*4]
mov edx, dword [esp + 0x190]
mov ecx, dword [edx + ecx*4]
mov edx, eax
sub edx, ecx
cmp edx, 1
jne 0x5c016c
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
xor ebx, ebx
push ebx
push eax
mov eax, dword [esp + 0x50]
push 2
push ecx
mov ecx, dword [esp + 0x54]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
jmp 0x5c01a2
mov edx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x50]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005d6b70
mov eax, dword [esi + edi*4 + 0xdc]
mov ecx, dword [esp + 0x70]
dec eax
push eax
push ebx
xor ebx, ebx
push ebx
push ecx
mov ecx, esi
call fcn.005d12a0
mov eax, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0xf8]
dec eax
lea ecx, [esp + 0xf0]
push eax
push edx
call fcn.005fc280
mov eax, 0x7cb8e8
mov dword [esp + 0x310], ebx
mov dword [esp + 0x30c], eax
mov dword [esp + 0x31c], ebx
mov dword [esp + 0x318], ebx
mov dword [esp + 0x314], ebx
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ebx
mov dword [esp + 0x330], ebx
mov dword [esp + 0x32c], ebx
mov dword [esp + 0x328], ebx
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3b0], ebx
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x3b4], eax
mov dword [esp + 0x3b8], ebx
mov dword [esp + 0x3c4], ebx
mov dword [esp + 0x3c0], ebx
mov dword [esp + 0x3bc], ebx
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0xa48], 0x72
mov dword [esp + 0x34], 1
mov edx, dword [ecx + eax]
mov ecx, dword [esp + 0x44]
cmp edx, ecx
jne 0x5c0286
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x48]
cmp edx, ecx
je 0x5c029f
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
cmp dword [ecx + eax], edx
jne 0x5c02a8
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jne 0x5c02a8
mov dword [esp + 0x34], ebx
jmp 0x5c0474
lea ecx, [esp + 0x3b4]
lea edx, [esp + 0x3a0]
push ecx
lea eax, [esp + 0x324]
push edx
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x314]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x60]
push eax
push ecx
push edx
mov ecx, esi
call fcn.005d2510
cmp dword [esp + 0x314], ebx
jle 0x5c08de
cmp dword [esp + 0x328], ebx
jle 0x5c08de
lea ecx, [esp + 0x8e0]
call fcn.0073b250
lea eax, [esp + 0x8e0]
mov ecx, esi
push eax
call fcn.0057b890
lea ecx, [esp + 0x3a0]
lea edx, [esp + 0x30c]
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.00517230
add esp, 0xc
mov ecx, dword [esi + edi*4 + 0xdc]
mov byte [esp + 0xa48], 0x81
push ecx
lea ecx, [esp + 0xa8]
call fcn.00421890
mov edx, dword [esi + edi*4 + 0xdc]
lea eax, [esp + 0x8e0]
push eax
mov dword [esp + 0x30], edx
push ecx
lea edx, [esp + 0x84]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.007605f0
push edi
mov ecx, esi
call fcn.0057bb90
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec eax
push eax
call fcn.00421890
mov ecx, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
dec ecx
push ecx
push edx
push eax
mov ecx, esi
call fcn.005d0eb0
lea ecx, [esp + 0x3b4]
lea edx, [esp + 0x320]
push ecx
lea eax, [esp + 0x90]
push edx
push eax
call fcn.00517230
add esp, 0xc
mov ecx, dword [esi + edi*4 + 0xdc]
mov byte [esp + 0xa48], 0x82
push ecx
lea ecx, [esp + 0xa8]
call fcn.00421890
mov edx, dword [esi + edi*4 + 0xdc]
lea eax, [esp + 0x8e0]
push eax
mov dword [esp + 0x30], edx
push ecx
lea edx, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.007605f0
push edi
mov ecx, esi
call fcn.0057bb90
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec eax
push eax
call fcn.00421890
mov ecx, dword [esi + edi*4 + 0xdc]
dec ecx
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
mov ecx, esi
call fcn.005d0eb0
lea ecx, [esp + 0x8c]
mov byte [esp + 0xa48], 0x81
call fcn.0076087b
lea ecx, [esp + 0x7c]
mov byte [esp + 0xa48], 0x72
call fcn.0076087b
lea ecx, [esp + 0x30c]
call fcn.00435e70
lea ecx, [esp + 0x320]
call fcn.00435e70
lea ecx, [esp + 0x3a0]
call fcn.00435e70
lea ecx, [esp + 0x3b4]
call fcn.00435e70
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esi + edi*4 + 0xf0]
add ecx, edx
mov dword [esp + 0x38], 1
call fcn.004e3590
test eax, eax
jne 0x5c04ef
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esi + edi*4 + 0xf0]
push eax
push ecx
mov ecx, dword [esp + 0xa8]
add ecx, edx
call fcn.004e3590
test eax, eax
je 0x5c04f8
mov dword [esp + 0x30], ebx
jmp 0x5c06c0
lea edx, [esp + 0x3b4]
lea eax, [esp + 0x3a0]
push edx
lea ecx, [esp + 0x324]
push eax
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x314]
push ecx
mov ecx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x24]
push ecx
push edx
push eax
mov ecx, esi
call fcn.005d2510
lea ecx, [esp + 0x30c]
call fcn.00421d30
test eax, eax
jle 0x5c0bcf
lea ecx, [esp + 0x320]
call fcn.00421d30
test eax, eax
jle 0x5c0bcf
lea ecx, [esp + 0x990]
call fcn.0073b250
lea ecx, [esp + 0x3a0]
lea edx, [esp + 0x30c]
push ecx
lea eax, [esp + 0x78]
push edx
push eax
call fcn.00517230
add esp, 0xc
mov ecx, dword [esi + edi*4 + 0xdc]
mov byte [esp + 0xa48], 0x83
push ecx
lea ecx, [esp + 0xa8]
call fcn.00421890
mov edx, dword [esi + edi*4 + 0xdc]
lea eax, [esp + 0x990]
push eax
mov dword [esp + 0x30], edx
push ecx
lea edx, [esp + 0x7c]
mov ecx, esp
mov dword [esp + 0xa8], esp
push edx
call fcn.007605f0
push edi
mov ecx, esi
call fcn.0057bb90
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec eax
push eax
call fcn.00421890
mov ecx, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
dec ecx
push ecx
push edx
push eax
mov ecx, esi
call fcn.005d0eb0
lea ecx, [esp + 0x3b4]
lea edx, [esp + 0x320]
push ecx
lea eax, [esp + 0x1b0]
push edx
push eax
call fcn.00517230
add esp, 0xc
mov ecx, dword [esi + edi*4 + 0xdc]
mov byte [esp + 0xa48], 0x84
push ecx
lea ecx, [esp + 0xa8]
call fcn.00421890
mov edx, dword [esi + edi*4 + 0xdc]
lea eax, [esp + 0x990]
push eax
mov dword [esp + 0x30], edx
push ecx
lea edx, [esp + 0x1b4]
mov ecx, esp
mov dword [esp + 0xa8], esp
push edx
call fcn.007605f0
push edi
mov ecx, esi
call fcn.0057bb90
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec eax
push eax
call fcn.00421890
mov ecx, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x70]
dec ecx
push ecx
push edx
push eax
mov ecx, esi
call fcn.005d0eb0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0xa48], 0x83
call fcn.0076087b
lea ecx, [esp + 0x74]
mov byte [esp + 0xa48], 0x72
call fcn.0076087b
lea ecx, [esp + 0xa4]
call fcn.00421d30
dec eax
cmp eax, ebx
mov dword [esp + 0x28], eax
jl 0x5c07c6
mov ecx, dword [esp + 0x28]
push ecx
lea ecx, [esp + 0xa8]
call fcn.0070b300
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xc8]
push edx
mov dword [esp + 0x30], eax
call fcn.0070b300
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
cmp ecx, eax
jne 0x5c075d
cmp dword [esp + 0x34], ebx
je 0x5c075d
mov ecx, dword [esp + 0x28]
push 1
push ecx
lea ecx, [esp + 0xac]
call fcn.004219e0
mov edx, dword [esp + 0x28]
push 1
push edx
lea ecx, [esp + 0xd0]
call fcn.004219e0
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x264]
push eax
call fcn.00421890
mov ecx, dword [esp + 0xc]
push ecx
lea ecx, [esp + 0x2f0]
call fcn.00421890
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
cmp eax, edx
jne 0x5c07b7
cmp dword [esp + 0x30], ebx
je 0x5c07b7
mov eax, dword [esp + 0x28]
push 1
push eax
lea ecx, [esp + 0xac]
call fcn.004219e0
mov ecx, dword [esp + 0x28]
push 1
push ecx
lea ecx, [esp + 0xd0]
call fcn.004219e0
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x264]
push edx
call fcn.00421890
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x2ec]
push eax
call fcn.00421890
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x28], eax
jns 0x5c06d9
lea ecx, [esp + 0xa4]
call fcn.00421d30
lea ecx, [esp + 0x3b4]
mov byte [esp + 0xa48], 0x71
call fcn.00421b60
lea ecx, [esp + 0x3a0]
mov byte [esp + 0xa48], 0x70
call fcn.00421b60
lea ecx, [esp + 0x320]
mov byte [esp + 0xa48], 0x6f
call fcn.00421b60
lea ecx, [esp + 0x30c]
mov byte [esp + 0xa48], 0x6e
call fcn.00421b60
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5c0c1f
cmp eax, 1
je 0x5c0c1f
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x1a8]
inc eax
cmp eax, ecx
mov dword [esp + 0x40], eax
jl 0x5bfc2b
xor ebx, ebx
mov eax, ecx
cmp eax, ebx
mov dword [esp + 0x40], ebx
jle 0x5c5513
lea ecx, [esp + 0xdc]
call fcn.00421d30
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jge 0x5c54fb
push ecx
lea ecx, [esp + 0x2c0]
call fcn.00435ec0
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x2d0]
fstp qword [esp + 0x8c]
push edx
call fcn.00435ec0
fstp qword [esp + 0x2e4]
fld qword [esp + 0x2e4]
fsub qword [esp + 0x8c]
cmp dword [esp + 0x308], 1
jne 0x5c0dc8
fmul qword [0x7d2d58]
fstp qword [esp + 0x42c]
fld qword [esp + 0x8c]
fmul qword [0x7d2d58]
jmp 0x5c0de2
mov dword [esp + method.CCommandLineInfo.virtual_0], 0x7cb8e8
mov eax, dword [esp + 0x3b8]
mov byte [esp + 0xa48], 0x73
cmp eax, ebx
je 0x5c0905
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + method.CCommandLineInfo.virtual_0], 0x7cb8e8
mov eax, dword [esp + 0x3a4]
mov byte [esp + 0xa48], 0x74
cmp eax, ebx
je 0x5c092c
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + method.CCommandLineInfo.virtual_0], 0x7cb8e8
mov eax, dword [esp + 0x324]
mov byte [esp + 0xa48], 0x75
cmp eax, ebx
je 0x5c0953
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + method.CCommandLineInfo.virtual_0], 0x7cb8e8
mov eax, dword [esp + 0x310]
mov byte [esp + 0xa48], 0x76
cmp eax, ebx
je 0x5c097a
push eax
call fcn.007604d0
add esp, 4
mov esi, 0x7cab08
mov dword [esp + 0x2ec], esi
mov eax, dword [esp + 0x2f0]
mov byte [esp + 0xa48], 0x77
cmp eax, ebx
je 0x5c09a2
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x264], esi
mov eax, dword [esp + 0x268]
mov byte [esp + 0xa48], 0x78
cmp eax, ebx
je 0x5c09c5
push eax
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0x84]
mov byte [esp + 0xa48], 0x67
call fcn.0076087b
lea ecx, [esp + 0x80]
mov byte [esp + 0xa48], 0x66
call fcn.0076087b
mov edi, 0x7cb8c8
mov dword [esp + 0x2d0], edi
mov eax, dword [esp + 0x2d4]
mov byte [esp + 0xa48], 0x79
cmp eax, ebx
je 0x5c0a15
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x2bc], edi
mov eax, dword [esp + 0x2c0]
mov byte [esp + 0xa48], 0x7a
cmp eax, ebx
je 0x5c0a38
push eax
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0x98]
mov byte [esp + 0xa48], 0x57
call fcn.0076087b
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa48], 0x18
call fcn.0076087b
lea ecx, [esp + 0x78]
mov byte [esp + 0xa48], 0xb
call fcn.0076087b
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x12c]
mov byte [esp + 0xa48], 0x7b
cmp eax, ebx
je 0x5c0a94
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0xa48], 0x7c
cmp eax, ebx
je 0x5c0ab7
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x13c], esi
mov eax, dword [esp + 0x140]
mov byte [esp + 0xa48], 0x7d
cmp eax, ebx
je 0x5c0ada
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0xa48], 0x7e
cmp eax, ebx
je 0x5c0afd
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x200], esi
mov eax, dword [esp + 0x204]
mov byte [esp + 0xa48], 0x7f
cmp eax, ebx
je 0x5c0b20
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0xa48], 0x80
cmp eax, ebx
je 0x5c0b43
push eax
call fcn.007604d0
add esp, 4
lea ecx, [esp + 0x18c]
call fcn.00423660
lea ecx, [esp + 0xf0]
mov byte [esp + 0xa48], 4
call fcn.00407640
lea ecx, [esp + 0xdc]
mov byte [esp + 0xa48], 3
call fcn.00407640
lea ecx, [esp + 0x150]
mov byte [esp + 0xa48], 2
call fcn.00407640
lea ecx, [esp + 0x108]
mov byte [esp + 0xa48], 1
call fcn.00407640
lea ecx, [esp + 0xc8]
mov byte [esp + 0xa48], 0
call fcn.00407640
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa48], 0xffffffff
call fcn.00407640
jmp 0x5c5d5d
lea ecx, [esp + 0x3b4]
mov byte [esp + 0xa48], 0x71
call fcn.00421b60
lea ecx, [esp + 0x3a0]
mov byte [esp + 0xa48], 0x70
call fcn.00421b60
lea ecx, [esp + 0x320]
mov byte [esp + 0xa48], 0x6f
call fcn.00421b60
lea ecx, [esp + 0x30c]
mov byte [esp + 0xa48], 0x6e
call fcn.00421b60
lea ecx, [esp + 0x2ec]
mov byte [esp + 0xa48], 0x6d
call fcn.00407640
lea ecx, [esp + 0x264]
mov byte [esp + 0xa48], 0x6a
call fcn.00407640
lea ecx, [esp + 0x84]
mov byte [esp + 0xa48], 0x67
call fcn.0076087b
lea ecx, [esp + 0x80]
mov byte [esp + 0xa48], 0x66
call fcn.0076087b
lea ecx, [esp + 0x2d0]
mov byte [esp + 0xa48], 0x65
call fcn.00421eb0
lea ecx, [esp + 0x2bc]
mov byte [esp + 0xa48], 0x58
call fcn.00421eb0
lea ecx, [esp + 0x98]
mov byte [esp + 0xa48], 0x57
call fcn.0076087b
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa48], 0x18
call fcn.0076087b
lea ecx, [esp + 0x78]
mov byte [esp + 0xa48], 0xb
call fcn.0076087b
lea ecx, [esp + 0x128]
mov byte [esp + 0xa48], 0xa
call fcn.00407640
lea ecx, [esp + 0x178]
mov byte [esp + 0xa48], 9
call fcn.00407640
lea ecx, [esp + 0x13c]
mov byte [esp + 0xa48], 8
call fcn.00407640
lea ecx, [esp + 0x164]
mov byte [esp + 0xa48], 7
call fcn.00407640
lea ecx, [esp + 0x200]
mov byte [esp + 0xa48], 6
call fcn.00407640
lea ecx, [esp + 0x18c]
mov byte [esp + 0xa48], 5
call fcn.00407640
lea ecx, [esp + 0xf0]
mov byte [esp + 0xa48], 4
call fcn.00407640
lea ecx, [esp + 0xdc]
mov byte [esp + 0xa48], 3
call fcn.00407640
lea ecx, [esp + 0x150]
mov byte [esp + 0xa48], 2
call fcn.00407640
lea ecx, [esp + 0x108]
mov byte [esp + 0xa48], 1
call fcn.00407640
lea ecx, [esp + 0xc8]
mov byte [esp + 0xa48], 0
call fcn.00407640
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa48], 0xffffffff
call fcn.00407640
jmp 0x5c5d5d
fmul qword [0x7cb880]
fstp qword [esp + 0x42c]
fld qword [esp + 0x8c]
fmul qword [0x7cb880]
fstp qword [esp + 0x344]
lea ecx, [esp + 0x1c8]
call fcn.00435e50
lea ecx, [esp + 0x278]
mov byte [esp + 0xa48], 0x85
call fcn.00435e50
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xa48], 0x86
call fcn.00435e50
lea ecx, [esp + 0x250]
mov byte [esp + 0xa48], 0x87
call fcn.00435e50
lea ecx, [esp + 0x3c8]
mov byte [esp + 0xa48], 0x88
call fcn.00435e50
lea ecx, [esp + 0xa4]
mov byte [esp + 0xa48], 0x89
mov dword [esp + 0x2c], ebx
call fcn.00421d30
test eax, eax
jle 0x5c0e89
push ebx
lea ecx, [esp + 0x3cc]
call fcn.00421890
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0xa4]
inc edx
mov dword [esp + 0x2c], edx
call fcn.00421d30
cmp dword [esp + 0x2c], eax
jl 0x5c0e61
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0xdc]
push ebx
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x304], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x308], ecx
lea ecx, [esp + 0xf4]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
mov dword [esp + 0x24], 0xffffffff
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x350], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x354], edx
xor ebx, ebx
lea ecx, [esp + 0xa4]
call fcn.00421d30
cmp ebx, eax
jge 0x5c110b
push ebx
lea ecx, [esp + 0xa8]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x1f4], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1f8], ecx
lea ecx, [esp + 0xcc]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
push ebx
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x1fc], ecx
lea ecx, [esp + 0x3cc]
mov edx, dword [eax + 4]
mov dword [esp + 0x200], edx
call fcn.0070b300
cmp eax, 1
je 0x5c0fc9
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f0]
push eax
push ecx
lea ecx, [esp + 0x308]
call fcn.004e3590
test eax, eax
jne 0x5c0fcf
mov edx, dword [esp + 0x1fc]
mov eax, dword [esp + 0x1f8]
push edx
push eax
lea ecx, [esp + 0x308]
call fcn.004e3590
test eax, eax
jne 0x5c106f
inc ebx
jmp 0x5c0efb
cmp dword [esp + 0x24], 0xffffffff
jne 0x5c0fe7
push ebx
lea ecx, [esp + 0xa8]
call fcn.0070b300
mov dword [esp + 0x24], eax
push 1
push ebx
lea ecx, [esp + 0x3d0]
call fcn.005fb7b0
push ebx
lea ecx, [esp + 0xa8]
call fcn.0070b300
push eax
lea ecx, [esp + 0x1cc]
call fcn.00421890
push ebx
lea ecx, [esp + 0xcc]
call fcn.0070b300
push eax
lea ecx, [esp + 0x27c]
call fcn.00421890
mov ecx, dword [esp + 0x354]
mov edx, dword [esp + 0x350]
push ecx
push edx
lea ecx, [esp + 0x200]
call fcn.005c5d80
test eax, eax
je 0x5c110b
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x300], eax
mov dword [esp + 0x304], ecx
jmp 0x5c0ef9
cmp dword [esp + 0x24], 0xffffffff
jne 0x5c1087
push ebx
lea ecx, [esp + 0xcc]
call fcn.0070b300
mov dword [esp + 0x24], eax
push 1
push ebx
lea ecx, [esp + 0x3d0]
call fcn.005fb7b0
push ebx
lea ecx, [esp + 0xa8]
call fcn.0070b300
push eax
lea ecx, [esp + 0x1cc]
call fcn.00421890
push ebx
lea ecx, [esp + 0xcc]
call fcn.0070b300
push eax
lea ecx, [esp + 0x27c]
call fcn.00421890
mov edx, dword [esp + 0x354]
mov eax, dword [esp + 0x350]
push edx
push eax
lea ecx, [esp + 0x1f8]
call fcn.005c5d80
test eax, eax
je 0x5c110b
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1f4]
mov dword [esp + 0x300], ecx
mov dword [esp + 0x304], edx
jmp 0x5c0ef9
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0xdc]
push ebx
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x24c], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x250], ecx
lea ecx, [esp + 0xf4]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
mov dword [esp + 0x2c], 0xffffffff
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x358], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x35c], edx
xor ebx, ebx
lea ecx, [esp + 0xa4]
call fcn.00421d30
cmp ebx, eax
jge 0x5c13f7
push ebx
lea ecx, [esp + 0x3cc]
call fcn.0070b300
cmp eax, 1
je 0x5c12b5
push ebx
lea ecx, [esp + 0xa8]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x298], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x29c], ecx
lea ecx, [esp + 0xcc]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x29c], ecx
mov ecx, dword [esp + 0x294]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x298]
push eax
push ecx
lea ecx, [esp + 0x250]
mov dword [esp + 0x2a8], edx
call fcn.004e3590
test eax, eax
jne 0x5c124b
mov edx, dword [esp + 0x2a0]
mov eax, dword [esp + 0x29c]
push edx
push eax
lea ecx, [esp + 0x250]
call fcn.004e3590
test eax, eax
je 0x5c1271
push ebx
lea ecx, [esp + 0xa8]
call fcn.0070b300
cmp eax, dword [esp + 0x24]
je 0x5c12b5
push ebx
lea ecx, [esp + 0xcc]
call fcn.0070b300
cmp eax, dword [esp + 0x24]
je 0x5c12b5
mov ecx, dword [esp + 0x298]
mov edx, dword [esp + 0x294]
push ecx
push edx
lea ecx, [esp + 0x250]
call fcn.004e3590
test eax, eax
jne 0x5c12bb
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x29c]
push eax
push ecx
lea ecx, [esp + 0x250]
call fcn.004e3590
test eax, eax
jne 0x5c135b
inc ebx
jmp 0x5c117d
push 1
push ebx
lea ecx, [esp + 0x3d0]
call fcn.005fb7b0
push ebx
lea ecx, [esp + 0xa8]
call fcn.0070b300
push eax
lea ecx, [esp + 0x1e0]
call fcn.00421890
push ebx
lea ecx, [esp + 0xcc]
call fcn.0070b300
push eax
lea ecx, [esp + 0x254]
call fcn.00421890
cmp dword [esp + 0x2c], 0xffffffff
jne 0x5c1316
push ebx
lea ecx, [esp + 0xa8]
call fcn.0070b300
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x35c]
mov eax, dword [esp + 0x358]
push edx
push eax
lea ecx, [esp + 0x2a4]
call fcn.005c5d80
test eax, eax
je 0x5c13f7
mov ecx, dword [esp + 0x29c]
mov edx, dword [esp + 0x2a0]
mov dword [esp + 0x248], ecx
mov dword [esp + 0x24c], edx
jmp 0x5c117b
push 1
push ebx
lea ecx, [esp + 0x3d0]
call fcn.005fb7b0
push ebx
lea ecx, [esp + 0xa8]
call fcn.0070b300
push eax
lea ecx, [esp + 0x1e0]
call fcn.00421890
push ebx
lea ecx, [esp + 0xcc]
call fcn.0070b300
push eax
lea ecx, [esp + 0x254]
call fcn.00421890
cmp dword [esp + 0x2c], 0xffffffff
jne 0x5c13b6
push ebx
lea ecx, [esp + 0xcc]
call fcn.0070b300
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x358]
push eax
push ecx
lea ecx, [esp + 0x29c]
call fcn.005c5d80
test eax, eax
je 0x5c13f7
mov edx, dword [esp + 0x294]
mov eax, dword [esp + 0x298]
mov dword [esp + 0x248], edx
mov dword [esp + 0x24c], eax
jmp 0x5c117b
lea ecx, [esp + 0x1c8]
call fcn.00421d30
test eax, eax
jle 0x5c57d6
lea ecx, [esp + 0x1dc]
call fcn.00421d30
test eax, eax
jle 0x5c57d6
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0xdc]
push ebx
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
mov ecx, dword [edx + eax]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0xe0]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
push ebx
lea eax, [eax + edx*2]
shl eax, 4
mov edx, dword [eax + ecx + 4]
lea ecx, [esp + 0xf4]
mov dword [esp + 0x78], edx
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
mov ecx, dword [edx + eax]
mov dword [esp + 0x1b0], ecx
lea ecx, [esp + 0xf4]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
push ebx
lea eax, [eax + edx*2]
shl eax, 4
mov edx, dword [eax + ecx + 4]
lea ecx, [esp + 0xe0]
mov dword [esp + 0x34], edx
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x20], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0xf4]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov edx, dword [eax]
mov dword [esp + 0x58], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
call fcn.004fb030
fst qword [esp + 0x44]
fadd st(0), st(0)
fdivr qword [esp + 0x42c]
fchs
call fcn.0074a770
fadd st(0), st(0)
fld st(0)
fsin
fstp qword [esp + 0x44]
mov eax, dword [esp + 0x1ac]
mov edx, dword [esp + 0x34]
fcos
mov ecx, dword [esp + 0x74]
sub eax, edx
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x30]
sub eax, ecx
fild dword [esp + 0x1ac]
mov dword [esp + 0x1ac], eax
fstp qword [esp + 0x3dc]
fild dword [esp + 0x1ac]
fstp qword [esp + 0x1ac]
fild dword [esp + 0x34]
fstp qword [esp + 0x464]
fld qword [esp + 0x3dc]
fmul st(1)
fld qword [esp + 0x1ac]
fmul qword [esp + 0x44]
fsubp st(1)
fadd qword [esp + 0x464]
fcom qword [0x7ca988]
fnstsw ax
test ah, 1
jne 0x5c15c4
fadd qword [0x7ca990]
jmp 0x5c15ca
fsub qword [0x7ca990]
call fcn.007496f4
fild dword [esp + 0x74]
mov dword [esp + 0x28], eax
fstp qword [esp + 0x21c]
fmul qword [esp + 0x1ac]
fld qword [esp + 0x3dc]
fmul qword [esp + 0x44]
faddp st(1)
fadd qword [esp + 0x21c]
fcom qword [0x7ca988]
fnstsw ax
test ah, 1
jne 0x5c160e
fadd qword [0x7ca990]
jmp 0x5c1614
fsub qword [0x7ca990]
call fcn.007496f4
mov ecx, dword [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x4f8]
mov dword [esp + 0x54], eax
call fcn.00464d80
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x60]
mov eax, dword [eax]
push eax
mov eax, dword [esp + 0x28]
push eax
push ecx
push edx
mov edx, dword [esp + 0x6c]
push edx
push eax
push ecx
call fcn.004fc7c0
mov eax, dword [esp + 0x348]
mov ecx, dword [esp + 0x344]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x54]
push 0xc0568000
fstp qword [esp + 0x50]
push 0
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
lea ecx, [esp + 0x768]
call fcn.00464d80
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [eax]
mov eax, dword [esp + 0x3c]
push edx
push eax
lea edx, [esp + 0x77c]
push ecx
push edx
call fcn.004fb8c0
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], edx
push eax
lea edx, [esp + 0x76c]
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.005c5df0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x448]
mov edx, dword [eax]
push edx
call fcn.00464d80
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x448]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 0x18], ecx
mov ecx, 1
cmp eax, ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x30], ecx
jne 0x5c1732
mov eax, dword [esp + 0x308]
test eax, eax
jne 0x5c1754
mov dword [esp + 0x88], 0
mov dword [esp + 0x30], ecx
jmp 0x5c1754
test eax, eax
jne 0x5c1754
mov eax, dword [esp + 0x308]
test eax, eax
jne 0x5c1754
mov dword [esp + 0x30], 0
mov dword [esp + 0x88], 1
mov eax, dword [esp + 0x214]
test eax, eax
je 0x5c190f
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c190f
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x164]
push edx
call fcn.00421890
mov eax, dword [esi + edi*4 + 0xdc]
push ebx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x78], eax
call fcn.0070b300
mov edx, eax
push ebx
lea ecx, [esp + 0xe0]
mov dword [esp + 0x38], edx
call fcn.0070b300
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov eax, dword [esp + 0x14]
cmp ecx, 1
jne 0x5c183d
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
push 0
push ebx
push 2
push ecx
mov dword [esp + 0x3fc], eax
push eax
mov eax, dword [esp + 0x60]
lea edx, [esp + 0x78c]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
lea ecx, [esp + 0x7a8]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x3fc]
push edx
mov edx, dword [esp + 0x3fc]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x7b0]
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
mov edx, dword [eax]
push edx
call fcn.005cddb0
jmp 0x5c18f8
mov ecx, dword [esp + 0x18]
mov ebx, eax
push ecx
push eax
lea eax, [esp + 0x7b0]
mov dword [esp + 0x48c], ecx
push eax
lea ecx, [esp + 0x28]
call fcn.005c5dd0
mov ecx, dword [eax]
mov dword [esp + 0x3f4], ecx
lea ecx, [esp + 0x7b8]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x484]
mov dword [esp + 0x3f8], edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x2c]
push ebx
push ecx
push edx
push eax
lea ecx, [esp + 0x7dc]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
mov ebx, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x3f8]
mov edx, dword [eax]
mov eax, dword [esp + 0x3fc]
push edx
push eax
push ecx
push ebx
lea ecx, [esp + 0x104]
call fcn.0070b300
push eax
push ebx
lea ecx, [esp + 0xf4]
call fcn.0070b300
push eax
mov ecx, esi
call fcn.005d6b70
mov edx, dword [esi + edi*4 + 0xdc]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
dec edx
push edx
push eax
push 0
push ebx
mov ecx, esi
call fcn.005d12a0
mov ecx, dword [esi + edi*4 + 0xdc]
dec ecx
push ecx
lea ecx, [esp + 0x140]
call fcn.00421890
jmp 0x5c1913
mov ebx, dword [esp + 0x70]
lea ecx, [esp + 0x50]
call fcn.0073b250
lea ecx, [esp + 0x60]
call fcn.0073b250
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x60], ecx
push 0
push 0
lea ecx, [esp + 0x7e0]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x6c], edx
call fcn.00464d80
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x18]
mov edx, dword [eax]
push edx
call fcn.005c5d80
test eax, eax
je 0x5c1a78
mov eax, dword [esp + 0x218]
test eax, eax
je 0x5c19e9
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c19e9
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xa4]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push 0
push ebx
push 1
push ecx
lea eax, [esp + 0x7f8]
push edx
push eax
lea ecx, [esp + 0x34]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax]
mov eax, dword [esp + 0x30]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec edx
push edx
call fcn.00421890
jmp 0x5c1a78
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x7fc]
push ecx
push edx
lea ecx, [esp + 0x28]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [eax]
mov eax, dword [esp + 0x24]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
fmul qword [0x7ca990]
mov ecx, dword [esp + 0x18]
sub esp, 8
fchs
fstp qword [esp]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
lea eax, [esp + 0x81c]
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [eax]
mov eax, dword [esp + 0x34]
push edx
push eax
lea edx, [esp + 0x834]
push ecx
push edx
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x82c]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
lea ecx, [esp + 0x84c]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x5c]
mov eax, dword [eax]
push eax
push ecx
push edx
call fcn.004fb030
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x84c]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
lea ecx, [esp + 0x86c]
fstp st(0)
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
lea ecx, [esp + 0x58]
push edx
mov eax, dword [eax]
push eax
call fcn.005c5d80
test eax, eax
je 0x5c1c65
fld qword [esp + 0x2e4]
fcomp qword [0x7ca988]
fnstsw ax
test ah, 0x41
jne 0x5c1c65
mov eax, dword [esp + 0x218]
test eax, eax
je 0x5c1bb2
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c1bb2
mov ecx, dword [esi + edi*4 + 0xdc]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00421890
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push 0
push ebx
push 1
push edx
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x878]
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
push eax
lea ecx, [esp + 0x898]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x68]
mov edx, dword [eax]
mov eax, dword [esp + 0x6c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec edx
push edx
call fcn.00421890
jmp 0x5c1c65
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x88c]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x8ac]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [eax]
mov eax, dword [esp + 0x60]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
fmul qword [0x7ca990]
mov ecx, dword [esp + 0x18]
sub esp, 8
fchs
fstp qword [esp]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x8bc]
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x8dc]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x6c]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x8e4]
push edx
push eax
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x60], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x64], edx
fld qword [esp + 0x8c]
fcomp qword [0x7ca988]
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xa0], ebx
fnstsw ax
test ah, 0x41
jne 0x5c1f66
push ebx
lea ecx, [esp + 0x1cc]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov ecx, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x1c4], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1c8], ecx
lea ecx, [esp + 0x27c]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x2b4]
mov edx, dword [eax + 4]
mov dword [esp + 0x6c], edx
call fcn.0073b250
lea ecx, [esp + 0x2a4]
call fcn.0073b250
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0x1c8]
call fcn.004e3590
test eax, eax
je 0x5c1d47
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2a4], edx
jmp 0x5c1d8d
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x70]
call fcn.004e3590
test eax, eax
je 0x5c57d6
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1c4]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2a4], edx
push 0xc09f4000
push 0
push ecx
push eax
push ebx
push edx
push ecx
lea ecx, [esp + 0x4dc]
push eax
push ecx
mov dword [esp + 0x2cc], ebx
call fcn.004fb740
mov edx, dword [eax]
push 0
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x428], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x42c], eax
call fcn.0070b300
lea ecx, [eax + eax*4]
push 0
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x1c4], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1c8], ecx
lea ecx, [esp + 0x254]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x74], edx
call fcn.004e3590
test eax, eax
je 0x5c1e68
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2a4], edx
jmp 0x5c1eae
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x70]
call fcn.004e3590
test eax, eax
je 0x5c57d6
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1c4]
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2a4], edx
push 0xc09f4000
push 0
push ecx
push eax
push ebx
push edx
push ecx
lea ecx, [esp + 0x7fc]
push eax
push ecx
mov dword [esp + 0x2cc], ebx
call fcn.004fb740
mov ebx, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48c], edx
push eax
lea edx, [esp + 0x4d4]
push ecx
push edx
lea ecx, [esp + 0x28]
call fcn.005c5dd0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x414], ecx
mov dword [esp + 0x418], edx
mov ecx, edx
mov edx, dword [eax]
mov eax, dword [esp + 0x428]
push ecx
mov ecx, dword [esp + 0x428]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x418]
mov eax, dword [esp + 0x414]
mov ecx, dword [esp + 0x48c]
push edx
fstp qword [esp + 0x38]
push eax
push ecx
push ebx
call fcn.004fb030
fld qword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c22ab
mov dword [esp + 0x2c], 1
jmp 0x5c22b6
lea ecx, [esp + 0x1c8]
call fcn.00421d30
dec eax
lea ecx, [esp + 0x1c8]
push eax
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x1a0], ecx
lea ecx, [esp + 0x278]
mov edx, dword [eax + 4]
mov dword [esp + 0x1a4], edx
call fcn.00421d30
dec eax
lea ecx, [esp + 0x278]
push eax
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x1b8], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1bc], ecx
lea ecx, [esp + 0x2ac]
call fcn.0073b250
lea ecx, [esp + 0x28c]
call fcn.0073b250
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
push edx
push eax
lea ecx, [esp + 0x1a8]
call fcn.004e3590
test eax, eax
je 0x5c2049
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], ecx
mov dword [esp + 0x28c], edx
jmp 0x5c2098
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
push ecx
push edx
lea ecx, [esp + 0x1c0]
call fcn.004e3590
test eax, eax
je 0x5c57d6
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a4]
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], ecx
mov dword [esp + 0x28c], edx
push 0xc09f4000
push 0
push ecx
push eax
push ebx
push edx
push ecx
push eax
lea eax, [esp + 0x700]
mov dword [esp + 0x2b0], ebx
push eax
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x434], ecx
lea ecx, [esp + 0x1dc]
mov edx, dword [eax + 4]
mov dword [esp + 0x438], edx
call fcn.00421d30
dec eax
lea ecx, [esp + 0x1dc]
push eax
call fcn.0070b300
mov ebx, dword [esi + edi*4 + 0xf0]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
shl edx, 4
add edx, ebx
mov eax, dword [edx]
mov dword [esp + 0x1a0], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1a4], ecx
lea ecx, [esp + 0x250]
call fcn.00421d30
dec eax
lea ecx, [esp + 0x250]
push eax
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x5c]
push eax
push ecx
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x1c4], edx
call fcn.004e3590
test eax, eax
je 0x5c2197
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], ecx
mov dword [esp + 0x28c], edx
jmp 0x5c21e6
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
push edx
push eax
lea ecx, [esp + 0x1c0]
call fcn.004e3590
test eax, eax
je 0x5c57d6
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a4]
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], ecx
mov dword [esp + 0x28c], edx
push 0xc09f4000
push 0
push ecx
push eax
push ebx
push edx
push ecx
lea ecx, [esp + 0x4fc]
push eax
push ecx
mov dword [esp + 0x2b4], ebx
call fcn.004fb740
mov ebx, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4ac], edx
push eax
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x8dc]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
lea ecx, [esp + 0x4c4]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x3fc], edx
mov edx, ecx
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x438]
push edx
mov edx, dword [esp + 0x438]
push eax
push ecx
push edx
call fcn.004fb030
mov eax, dword [esp + 0x400]
mov ecx, dword [esp + 0x3fc]
mov edx, dword [esp + 0x4ac]
push eax
fstp qword [esp + 0x38]
push ecx
push edx
push ebx
call fcn.004fb030
fld qword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c22ab
mov dword [esp + 0x2c], 1
jmp 0x5c22b6
mov dword [esp + 0xa0], 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x6f4]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x514]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [esp + 0x18]
mov ecx, eax
push edx
mov edx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0x7f4]
push eax
push ecx
push ebx
push edx
lea ecx, [esp + 0x524]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x5c]
mov edx, dword [eax]
push edx
call fcn.004e3590
test eax, eax
jne 0x5c234d
fld qword [esp + 0x2e4]
fcomp qword [0x7ca988]
fnstsw ax
test ah, 0x40
je 0x5c2363
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x5c2a5b
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c2a5b
xor ebx, ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], ebx
call fcn.00421d30
test eax, eax
jle 0x5c2667
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x104]
jmp 0x5c23b0
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x40]
cmp eax, 2
je 0x5c23c3
cmp eax, 3
je 0x5c23c3
cmp ebx, ecx
jl 0x5c23cb
jmp 0x5c264e
cmp ebx, ecx
jle 0x5c264e
push ebx
lea ecx, [esp + 0xe0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c2494
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea edx, [ebx + ebx*4]
lea ebx, [ebx + edx*2]
shl ebx, 4
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax + ebx + 4]
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + ebx]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x714]
push eax
push ecx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax]
mov dword [edx + ebx], ecx
mov eax, dword [eax + 4]
mov dword [edx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0xf4]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c240a
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x164]
call fcn.00421d30
cmp eax, ebx
jle 0x5c2571
push ebx
lea ecx, [esp + 0x168]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x140]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c2571
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov eax, dword [edx + ebx + 4]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x534]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x140]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c24e7
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x178]
call fcn.00421d30
cmp eax, ebx
jle 0x5c264e
push ebx
lea ecx, [esp + 0x17c]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x12c]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c264e
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov eax, dword [edx + ebx + 4]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x884]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x12c]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c25c4
mov ebx, dword [esp + 0x10]
inc ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c23a5
xor ebx, ebx
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x8c], ebx
call fcn.00421d30
test eax, eax
jle 0x5c3144
push ebx
lea ecx, [esp + 0x1cc]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x27c]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x1cc]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x27c]
mov dword [esp + 0x14], eax
call fcn.0070b300
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x5c28b7
mov ebx, ecx
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov dword [esp + 0x7c], ebx
lea ecx, [esp + 0x108]
mov dword [esp + 0x24], 0
call fcn.00421d30
test eax, eax
jle 0x5c281e
mov edx, dword [esp + 0x24]
mov ebx, dword [esi + edi*4 + 0xf0]
push edx
lea ecx, [esp + 0x10c]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
shl edx, 4
mov eax, dword [edx + ebx + 4]
push eax
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x80]
push ecx
lea ecx, [edx + ebx]
call fcn.004e3590
test eax, eax
je 0x5c27fd
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x108]
push eax
call fcn.0070b300
mov ecx, dword [esp + 0x24]
mov ebx, eax
push ecx
lea ecx, [esp + 0x154]
mov dword [esp + 0x10], ebx
call fcn.0070b300
cmp ebx, eax
jg 0x5c27fd
fld qword [esp + 0x44]
lea edx, [ebx + ebx*4]
fchs
fstp qword [esp + 0x34]
lea ebx, [ebx + edx*2]
shl ebx, 4
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax + ebx + 4]
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + ebx]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x544]
push eax
push ecx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax]
mov dword [edx + ebx], ecx
mov eax, dword [eax + 4]
mov dword [edx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x154]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c2777
mov ebx, dword [esp + 0x24]
lea ecx, [esp + 0x108]
inc ebx
mov dword [esp + 0x24], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c26f3
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esi + edi*4 + 0xf0]
fld qword [esp + 0x44]
mov edx, dword [ecx + ebx + 4]
push edx
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + ebx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push edx
lea eax, [esp + 0x720]
sub esp, 8
fchs
fstp qword [esp]
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x8c]
inc ecx
add ebx, 0xb0
mov dword [esp + 0x10], ecx
push eax
lea ecx, [esp + 0x27c]
mov dword [esp + 0x80], ebx
call fcn.0070b300
cmp dword [esp + 0x10], eax
jle 0x5c26d7
mov ebx, dword [esp + 0x8c]
lea ecx, [esp + 0x1c8]
call fcn.00421d30
dec eax
cmp ebx, eax
jne 0x5c2a3a
push ebx
lea ecx, [esp + 0x1cc]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x364], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x368], ecx
lea ecx, [esp + 0x27c]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x360]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x364]
push eax
push ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x38c], edx
call fcn.004e3590
test eax, eax
jne 0x5c2a3a
mov edx, dword [esp + 0x384]
mov eax, dword [esp + 0x380]
push edx
push eax
lea ecx, [esp + 0xc0]
call fcn.004e3590
test eax, eax
jne 0x5c2a3a
mov ecx, dword [esp + 0x364]
mov edx, dword [esp + 0x360]
mov eax, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x384]
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push eax
fstp qword [esp + 0x3c]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x34]
fcomp st(1)
push ebx
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c2a09
lea ecx, [esp + 0x1cc]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [esp + 0xb8]
mov dword [edx], eax
mov ecx, dword [esp + 0xbc]
mov dword [edx + 4], ecx
jmp 0x5c2a3a
lea ecx, [esp + 0x27c]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov edx, dword [esp + 0xbc]
mov dword [eax + 4], edx
inc ebx
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x8c], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c2684
jmp 0x5c3144
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x5c3144
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c3144
xor ebx, ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], ebx
call fcn.00421d30
test eax, eax
jle 0x5c2d55
mov eax, dword [esp + 0x104]
cmp eax, 2
je 0x5c2aaf
cmp eax, 3
je 0x5c2aaf
cmp ebx, dword [esp + 0x40]
jl 0x5c2ab9
jmp 0x5c2d3c
cmp ebx, dword [esp + 0x40]
jle 0x5c2d3c
push ebx
lea ecx, [esp + 0xe0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c2b82
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea eax, [ebx + ebx*4]
lea ebx, [ebx + eax*2]
shl ebx, 4
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [ecx + ebx + 4]
push edx
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + ebx]
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
lea edx, [esp + 0x554]
push ecx
push edx
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0xf4]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c2af8
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x164]
call fcn.00421d30
cmp eax, ebx
jle 0x5c2c5f
push ebx
lea ecx, [esp + 0x168]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x140]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c2c5f
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov eax, dword [edx + ebx + 4]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x814]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x140]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c2bd5
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x178]
call fcn.00421d30
cmp eax, ebx
jle 0x5c2d3c
push ebx
lea ecx, [esp + 0x17c]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x12c]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c2d3c
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov eax, dword [edx + ebx + 4]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x564]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x12c]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c2cb2
mov ebx, dword [esp + 0x10]
inc ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c2a93
xor ebx, ebx
lea ecx, [esp + 0x1dc]
mov dword [esp + 0xc], ebx
call fcn.00421d30
test eax, eax
jle 0x5c3144
push ebx
lea ecx, [esp + 0x1e0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x254]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x1e0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x254]
mov dword [esp + 0x14], eax
call fcn.0070b300
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x5c2fa8
mov ebx, ecx
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov dword [esp + 0x7c], ebx
lea ecx, [esp + 0x108]
mov dword [esp + 0x24], 0
call fcn.00421d30
test eax, eax
jle 0x5c2f15
mov edx, dword [esp + 0x24]
mov ebx, dword [esi + edi*4 + 0xf0]
push edx
lea ecx, [esp + 0x10c]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
shl edx, 4
mov eax, dword [edx + ebx + 4]
push eax
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x80]
push ecx
lea ecx, [edx + ebx]
call fcn.004e3590
test eax, eax
je 0x5c2ef4
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x108]
push eax
call fcn.0070b300
mov ecx, dword [esp + 0x24]
mov ebx, eax
push ecx
lea ecx, [esp + 0x154]
mov dword [esp + 0x90], ebx
call fcn.0070b300
cmp ebx, eax
jg 0x5c2ef4
fld qword [esp + 0x44]
lea edx, [ebx + ebx*4]
fchs
fstp qword [esp + 0x34]
lea ebx, [ebx + edx*2]
shl ebx, 4
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax + ebx + 4]
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + ebx]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x734]
push eax
push ecx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax]
mov dword [edx + ebx], ecx
mov eax, dword [eax + 4]
mov dword [edx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x24]
inc ecx
push eax
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x154]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0x8c], eax
jle 0x5c2e65
mov ebx, dword [esp + 0x24]
lea ecx, [esp + 0x108]
inc ebx
mov dword [esp + 0x24], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c2dde
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esi + edi*4 + 0xf0]
fld qword [esp + 0x44]
mov edx, dword [ecx + ebx + 4]
push edx
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + ebx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push edx
lea eax, [esp + 0x570]
sub esp, 8
fchs
fstp qword [esp]
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
inc ecx
add ebx, 0xb0
mov dword [esp + 0x10], ecx
push eax
lea ecx, [esp + 0x254]
mov dword [esp + 0x80], ebx
call fcn.0070b300
cmp dword [esp + 0x10], eax
jle 0x5c2dc2
mov ebx, dword [esp + 0xc]
lea ecx, [esp + 0x1dc]
call fcn.00421d30
dec eax
cmp ebx, eax
jne 0x5c312b
push ebx
lea ecx, [esp + 0x1e0]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x374], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x378], ecx
lea ecx, [esp + 0x254]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x334], ecx
mov ecx, dword [esp + 0x370]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x374]
push eax
push ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x340], edx
call fcn.004e3590
test eax, eax
jne 0x5c312b
mov edx, dword [esp + 0x338]
mov eax, dword [esp + 0x334]
push edx
push eax
lea ecx, [esp + 0xc0]
call fcn.004e3590
test eax, eax
jne 0x5c312b
mov ecx, dword [esp + 0x374]
mov edx, dword [esp + 0x370]
mov eax, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0xbc]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x338]
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0xbc]
push edx
mov edx, dword [esp + 0xbc]
push eax
fstp qword [esp + 0x3c]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x34]
fcomp st(1)
push ebx
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c30fa
lea ecx, [esp + 0x1e0]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [esp + 0xb8]
mov dword [edx], eax
mov ecx, dword [esp + 0xbc]
mov dword [edx + 4], ecx
jmp 0x5c312b
lea ecx, [esp + 0x254]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov edx, dword [esp + 0xbc]
mov dword [eax + 4], edx
inc ebx
lea ecx, [esp + 0x1dc]
mov dword [esp + 0xc], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c2d6f
mov eax, dword [esp + 0x218]
test eax, eax
jne 0x5c3840
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5c3840
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x54]
mov ebx, eax
push edx
mov edx, dword [esp + 0x30]
push ecx
push eax
mov dword [esp + 0x484], ecx
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x8c0]
push eax
push ecx
push edx
lea ecx, [esp + 0x58c]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x73c]
mov edx, dword [eax]
mov eax, dword [esp + 0x480]
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov edx, dword [eax + 4]
lea ecx, [esp + 0x590]
push edx
mov eax, dword [eax]
push eax
push ecx
call fcn.004fc5c0
mov edx, dword [eax]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x64]
mov eax, dword [eax + 4]
push edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x30]
push ecx
mov ebx, eax
push eax
mov dword [esp + 0x4b4], ecx
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x820]
push eax
push ecx
push edx
lea ecx, [esp + 0x5ac]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x74c]
mov edx, dword [eax]
mov eax, dword [esp + 0x4b0]
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov edx, dword [eax + 4]
lea ecx, [esp + 0x5b0]
push edx
mov eax, dword [eax]
push eax
push ecx
call fcn.004fc5c0
mov edx, dword [eax]
mov dword [esp + 0x60], edx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x54]
mov ebx, dword [eax + 4]
mov eax, dword [eax]
push 0x40c38800
push 0
push ecx
push edx
push ebx
push eax
push ecx
lea ecx, [esp + 0x89c]
push edx
push ecx
call fcn.004fb740
mov ebx, dword [eax]
mov ecx, dword [esp + 0x60]
push 0x40c38800
push 0
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x468], edx
mov edx, dword [esp + 0x5c]
push eax
push ecx
push edx
mov edx, dword [esp + 0x64]
push edx
push eax
lea eax, [esp + 0x5cc]
push ecx
push eax
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x24], 0
mov dword [esp + 0x33c], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x2c]
test eax, eax
mov dword [esp + 0x340], edx
je 0x5c3431
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x10], 0
call fcn.00421d30
test eax, eax
jle 0x5c357a
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x1c8]
push eax
call fcn.0070b300
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
push ecx
lea ecx, [esp + 0x27c]
call fcn.0070b300
lea ecx, [esp + 0x23c]
mov dword [esp + 0x34], eax
call fcn.0073b250
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0x23c]
push edx
mov edx, dword [esp + 0x344]
push eax
mov eax, dword [esp + 0x344]
push ecx
mov ecx, dword [esp + 0x46c]
push edx
push eax
push ecx
push ebx
mov ecx, esi
call fcn.005ce3c0
test eax, eax
je 0x5c340d
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
inc ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x240]
push edx
mov edx, dword [esp + 0x240]
push eax
push ecx
push edx
call fcn.004fb030
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x240]
push eax
mov eax, dword [esp + 0x240]
push ecx
fstp qword [esp + 0x4c]
push edx
push eax
call fcn.004fb030
fld qword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c33ec
mov ecx, dword [esp + 0x23c]
mov edx, dword [esp + 0x240]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
jmp 0x5c3402
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x240]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x24], 2
je 0x5c357a
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x1c8]
inc edx
mov dword [esp + 0x10], edx
call fcn.00421d30
cmp dword [esp + 0x10], eax
jl 0x5c330a
jmp 0x5c357a
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x5c357a
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x10], 0
call fcn.00421d30
test eax, eax
jle 0x5c357a
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x1dc]
push edx
call fcn.0070b300
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x254]
call fcn.0070b300
lea ecx, [esp + 0x22c]
mov dword [esp + 0x34], eax
call fcn.0073b250
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x22c]
push ecx
mov ecx, dword [esp + 0x344]
push edx
mov edx, dword [esp + 0x344]
push eax
mov eax, dword [esp + 0x46c]
push ecx
push edx
push eax
push ebx
mov ecx, esi
call fcn.005ce3c0
test eax, eax
je 0x5c355b
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x230]
push ecx
mov ecx, dword [esp + 0x230]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x230]
push edx
mov edx, dword [esp + 0x230]
push eax
fstp qword [esp + 0x4c]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c353e
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
jmp 0x5c3554
mov edx, dword [esp + 0x22c]
mov eax, dword [esp + 0x230]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
cmp dword [esp + 0x24], 2
je 0x5c357a
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x1dc]
inc edx
mov dword [esp + 0x10], edx
call fcn.00421d30
cmp dword [esp + 0x10], eax
jl 0x5c345c
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x54]
push edx
push ecx
mov dword [esp + 0x418], eax
push eax
lea eax, [esp + 0x760]
mov dword [esp + 0x420], ecx
mov ecx, dword [esp + 0x38]
push eax
push ebx
push ecx
lea ecx, [esp + 0x5dc]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x418]
push edx
mov edx, dword [esp + 0x418]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x834]
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
lea eax, [esp + 0x5e4]
push edx
push eax
call fcn.004fc5c0
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push edx
push ecx
mov dword [esp + 0x428], eax
push eax
lea eax, [esp + 0x770]
mov dword [esp + 0x430], ecx
mov ecx, dword [esp + 0x38]
push eax
push ebx
push ecx
lea ecx, [esp + 0x5fc]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x428]
push edx
mov edx, dword [esp + 0x428]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x8e4]
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
lea eax, [esp + 0x604]
push edx
push eax
call fcn.004fc5c0
mov ecx, dword [eax]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x6c], edx
call fcn.005c5d80
test eax, eax
je 0x5c3763
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xa4]
push edx
call fcn.00421890
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
push 0
push eax
mov eax, dword [esp + 0x28]
push 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec edx
push edx
call fcn.00421890
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xa4]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push 0
push ecx
push 1
push edx
lea ecx, [esp + 0x780]
push eax
push ecx
lea ecx, [esp + 0x34]
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
mov eax, dword [eax]
push eax
push ecx
push edx
mov ecx, esi
call fcn.005cddb0
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec eax
push eax
call fcn.00421890
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
push ecx
push edx
lea ecx, [esp + 0x68]
call fcn.005c5d80
test eax, eax
je 0x5c3840
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xa4]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push 0
push ecx
mov ecx, dword [esp + 0x64]
push 1
push edx
mov edx, dword [esp + 0x68]
push eax
push ecx
push edx
mov ecx, esi
call fcn.005cddb0
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec eax
push eax
call fcn.00421890
mov ecx, dword [esi + edi*4 + 0xdc]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00421890
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push 0
push edx
push 1
push eax
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x610]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x850]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
mov eax, dword [esp + 0x74]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec edx
push edx
call fcn.00421890
mov eax, dword [esp + 0x30]
test eax, eax
je 0x5c5495
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
call fcn.004fb030
fst qword [esp + 0x44]
fadd st(0), st(0)
fdivr qword [esp + 0x42c]
call fcn.0074a770
fadd st(0), st(0)
fld st(0)
fsin
fstp qword [esp + 0x44]
fcos
fld qword [esp + 0x3dc]
fmul st(1)
fld qword [esp + 0x1ac]
fmul qword [esp + 0x44]
fsubp st(1)
fadd qword [esp + 0x464]
fcom qword [0x7ca988]
fnstsw ax
test ah, 1
jne 0x5c38b5
fadd qword [0x7ca990]
jmp 0x5c38bb
fsub qword [0x7ca990]
call fcn.007496f4
fmul qword [esp + 0x1ac]
fld qword [esp + 0x3dc]
fmul qword [esp + 0x44]
mov dword [esp + 0x28], eax
faddp st(1)
fadd qword [esp + 0x21c]
fcom qword [0x7ca988]
fnstsw ax
test ah, 1
jne 0x5c38f4
fadd qword [0x7ca990]
jmp 0x5c38fa
fsub qword [0x7ca990]
call fcn.007496f4
mov ecx, dword [esp + 0x28]
mov ebx, eax
push ebx
push ecx
lea ecx, [esp + 0x618]
mov dword [esp + 0x54], ebx
call fcn.00464d80
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x60]
mov eax, dword [eax]
push eax
mov eax, dword [esp + 0x28]
push eax
push ecx
push edx
mov edx, dword [esp + 0x6c]
push edx
push eax
push ecx
call fcn.004fc7c0
mov eax, dword [esp + 0x348]
mov ecx, dword [esp + 0x344]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x30]
push 0x40568000
fstp qword [esp + 0x50]
push 0
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x7a0]
call fcn.00464d80
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x38]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x644]
push edx
push eax
call fcn.004fb8c0
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], edx
push eax
lea edx, [esp + 0x894]
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.005c5df0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x458]
mov edx, dword [eax]
push edx
call fcn.00464d80
mov eax, dword [esp + 0x454]
mov ecx, dword [esp + 0x458]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x214]
test eax, eax
mov dword [esp + 0x18], ecx
je 0x5c3b91
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0x178]
push edx
call fcn.00421890
mov ebx, dword [esp + 0x40]
mov eax, dword [esi + edi*4 + 0xdc]
push ebx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x78], eax
call fcn.0070b300
mov edx, eax
push ebx
lea ecx, [esp + 0xe0]
mov dword [esp + 0x38], edx
call fcn.0070b300
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov eax, dword [esp + 0x14]
cmp ecx, 1
jne 0x5c3abd
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x4c]
push 0
push edx
push 2
push ecx
mov dword [esp + 0x44c], eax
push eax
lea eax, [esp + 0x644]
mov dword [esp + 0x454], ecx
mov ecx, dword [esp + 0x3c]
push eax
push ebx
push ecx
lea ecx, [esp + 0x7b0]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x44c]
push edx
mov edx, dword [esp + 0x44c]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x658]
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
mov edx, dword [eax]
push edx
call fcn.005cddb0
jmp 0x5c3b7c
mov ecx, dword [esp + 0x18]
mov ebx, eax
push ecx
push eax
lea eax, [esp + 0x848]
mov dword [esp + 0x49c], ecx
push eax
lea ecx, [esp + 0x28]
call fcn.005c5dd0
mov ecx, dword [eax]
mov dword [esp + 0x404], ecx
lea ecx, [esp + 0x650]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x494]
push eax
push ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x410], edx
mov edx, dword [esp + 0x30]
push ecx
push ebx
push edx
lea ecx, [esp + 0x7b4]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x408]
mov edx, dword [eax]
mov eax, dword [esp + 0x40c]
push edx
mov edx, dword [esp + 0x48]
push eax
push ecx
push edx
lea ecx, [esp + 0x104]
call fcn.0070b300
push eax
mov eax, dword [esp + 0x54]
push eax
lea ecx, [esp + 0xf4]
call fcn.0070b300
push eax
mov ecx, esi
call fcn.005d6b70
mov ecx, dword [esi + edi*4 + 0xdc]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
dec ecx
push ecx
push edx
push 0
push eax
mov ecx, esi
call fcn.005d12a0
mov ecx, dword [esi + edi*4 + 0xdc]
dec ecx
push ecx
lea ecx, [esp + 0x12c]
call fcn.00421890
mov eax, dword [esp + 0x218]
push 0
test eax, eax
push 0
jne 0x5c3da9
lea ecx, [esp + 0x668]
call fcn.00464d80
mov edx, dword [eax + 4]
lea ecx, [esp + 0x14]
push edx
mov eax, dword [eax]
push eax
call fcn.005c5d80
test eax, eax
je 0x5c3c57
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0x8c4]
push edx
push eax
lea ecx, [esp + 0x28]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [eax]
mov eax, dword [esp + 0x24]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
fmul qword [0x7ca990]
mov ecx, dword [esp + 0x18]
sub esp, 8
fchs
fstp qword [esp]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
lea eax, [esp + 0x684]
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [eax]
mov eax, dword [esp + 0x34]
push edx
push eax
lea edx, [esp + 0x7cc]
push ecx
push edx
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x684]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x864]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [eax]
mov eax, dword [esp + 0x60]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x694]
push eax
push ecx
push ebx
push edx
lea ecx, [esp + 0x7d4]
fstp st(0)
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x5c]
mov edx, dword [eax]
push edx
call fcn.005c5d80
test eax, eax
je 0x5c3f3d
fld qword [esp + 0x2e4]
fcomp qword [0x7ca988]
fnstsw ax
test ah, 0x41
jne 0x5c3f3d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x6a4]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x8b4]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [eax]
mov eax, dword [esp + 0x60]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
fmul qword [0x7ca990]
mov ecx, dword [esp + 0x18]
sub esp, 8
fchs
fstp qword [esp]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x6c4]
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x7f4]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x6c]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x6dc]
push edx
push eax
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x60], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x64], edx
jmp 0x5c3f3d
lea ecx, [esp + 0x868]
call fcn.00464d80
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x18]
mov edx, dword [eax]
push edx
call fcn.005c5d80
test eax, eax
je 0x5c3e2e
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xa4]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push 0
push ecx
push 1
push edx
lea ecx, [esp + 0x6e0]
push eax
push ecx
lea ecx, [esp + 0x34]
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x2c]
mov eax, dword [eax]
push eax
push ecx
push edx
mov ecx, esi
call fcn.005cddb0
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec eax
push eax
call fcn.00421890
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x4bc]
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x4dc]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x5c]
mov eax, dword [eax]
push eax
push ecx
push edx
call fcn.004fb030
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x4dc]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x4fc]
fstp st(0)
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x5c]
mov edx, dword [eax]
push edx
call fcn.005c5d80
test eax, eax
je 0x5c3f3d
fld qword [esp + 0x2e4]
fcomp qword [0x7ca988]
fnstsw ax
test ah, 0x41
jne 0x5c3f3d
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xa4]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push 0
push ecx
push 1
push edx
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x508]
push eax
push ecx
push ebx
push edx
lea ecx, [esp + 0x528]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x68]
mov edx, dword [eax]
mov eax, dword [esp + 0x6c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec edx
push edx
call fcn.00421890
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x51c]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x53c]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [esp + 0x18]
mov ecx, eax
push edx
mov edx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc8], ecx
lea ecx, [esp + 0x53c]
push eax
push ecx
push ebx
push edx
lea ecx, [esp + 0x55c]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x5c]
mov edx, dword [eax]
push edx
call fcn.004e3590
test eax, eax
jne 0x5c3fd0
fld qword [esp + 0x2e4]
fcomp qword [0x7ca988]
fnstsw ax
test ah, 0x40
je 0x5c3fe6
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x5c46c5
xor ebx, ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], ebx
call fcn.00421d30
test eax, eax
jle 0x5c42d1
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x40]
cmp eax, 2
je 0x5c402d
cmp eax, 3
je 0x5c402d
cmp ebx, ecx
jg 0x5c4035
jmp 0x5c42b8
cmp ebx, ecx
jge 0x5c42b8
push ebx
lea ecx, [esp + 0xe0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c40fe
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea edx, [ebx + ebx*4]
lea ebx, [ebx + edx*2]
shl ebx, 4
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax + ebx + 4]
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + ebx]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x56c]
push eax
push ecx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax]
mov dword [edx + ebx], ecx
mov eax, dword [eax + 4]
mov dword [edx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0xf4]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c4074
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x164]
call fcn.00421d30
cmp eax, ebx
jle 0x5c41db
push ebx
lea ecx, [esp + 0x168]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x140]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c41db
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov eax, dword [edx + ebx + 4]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x57c]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x140]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c4151
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x178]
call fcn.00421d30
cmp eax, ebx
jle 0x5c42b8
push ebx
lea ecx, [esp + 0x17c]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x12c]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c42b8
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov eax, dword [edx + ebx + 4]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x58c]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x12c]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c422e
mov ebx, dword [esp + 0x10]
inc ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c400f
xor ebx, ebx
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x7c], ebx
call fcn.00421d30
test eax, eax
jle 0x5c4d9c
push ebx
lea ecx, [esp + 0x1cc]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x27c]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x1cc]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x27c]
mov dword [esp + 0x14], eax
call fcn.0070b300
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x5c451e
mov ebx, ecx
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov dword [esp + 0x8c], ebx
lea ecx, [esp + 0x108]
mov dword [esp + 0x24], 0
call fcn.00421d30
test eax, eax
jle 0x5c448b
mov edx, dword [esp + 0x24]
mov ebx, dword [esi + edi*4 + 0xf0]
push edx
lea ecx, [esp + 0x10c]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
shl edx, 4
mov eax, dword [edx + ebx + 4]
push eax
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x90]
push ecx
lea ecx, [edx + ebx]
call fcn.004e3590
test eax, eax
je 0x5c4467
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x108]
push eax
call fcn.0070b300
mov ecx, dword [esp + 0x24]
mov ebx, eax
push ecx
lea ecx, [esp + 0x154]
mov dword [esp + 0x34], ebx
call fcn.0070b300
cmp ebx, eax
jg 0x5c4467
fld qword [esp + 0x44]
lea edx, [ebx + ebx*4]
fchs
fstp qword [esp + 0x34]
lea ebx, [ebx + edx*2]
shl ebx, 4
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax + ebx + 4]
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + ebx]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x59c]
push eax
push ecx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax]
mov dword [edx + ebx], ecx
mov eax, dword [eax + 4]
mov dword [edx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
inc ecx
push eax
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x154]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0x30], eax
jle 0x5c43e1
mov ebx, dword [esp + 0x24]
lea ecx, [esp + 0x108]
inc ebx
mov dword [esp + 0x24], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c435d
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esi + edi*4 + 0xf0]
fld qword [esp + 0x44]
mov edx, dword [ecx + ebx + 4]
push edx
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + ebx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push edx
lea eax, [esp + 0x5a8]
sub esp, 8
fchs
fstp qword [esp]
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
inc ecx
add ebx, 0xb0
mov dword [esp + 0x10], ecx
push eax
lea ecx, [esp + 0x27c]
mov dword [esp + 0x90], ebx
call fcn.0070b300
cmp dword [esp + 0x10], eax
jle 0x5c4341
mov ebx, dword [esp + 0x7c]
lea ecx, [esp + 0x1c8]
call fcn.00421d30
dec eax
cmp ebx, eax
jne 0x5c46a7
push ebx
lea ecx, [esp + 0x1cc]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x36c], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x370], ecx
lea ecx, [esp + 0x27c]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x368]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x36c]
push eax
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x384], edx
call fcn.004e3590
test eax, eax
jne 0x5c46a7
mov edx, dword [esp + 0x37c]
mov eax, dword [esp + 0x378]
push edx
push eax
lea ecx, [esp + 0xc8]
call fcn.004e3590
test eax, eax
jne 0x5c46a7
mov ecx, dword [esp + 0x36c]
mov edx, dword [esp + 0x368]
mov eax, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x37c]
mov eax, dword [esp + 0x378]
mov ecx, dword [esp + 0xc4]
push edx
mov edx, dword [esp + 0xc4]
push eax
fstp qword [esp + 0x224]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x21c]
fcomp st(1)
push ebx
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c4676
lea ecx, [esp + 0x1cc]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [esp + 0xc0]
mov dword [edx], eax
mov ecx, dword [esp + 0xc4]
mov dword [edx + 4], ecx
jmp 0x5c46a7
lea ecx, [esp + 0x27c]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
mov edx, dword [esp + 0xc4]
mov dword [eax + 4], edx
inc ebx
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x7c], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c42eb
jmp 0x5c4d9c
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x5c4d9c
xor ebx, ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], ebx
call fcn.00421d30
test eax, eax
jle 0x5c49ad
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x40]
cmp eax, 2
je 0x5c4709
cmp eax, 3
je 0x5c4709
cmp ebx, ecx
jg 0x5c4711
jmp 0x5c4994
cmp ebx, ecx
jge 0x5c4994
push ebx
lea ecx, [esp + 0xe0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c47da
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea eax, [ebx + ebx*4]
lea ebx, [ebx + eax*2]
shl ebx, 4
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [ecx + ebx + 4]
push edx
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + ebx]
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
lea edx, [esp + 0x5bc]
push ecx
push edx
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0xf4]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c4750
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x164]
call fcn.00421d30
cmp eax, ebx
jle 0x5c48b7
push ebx
lea ecx, [esp + 0x168]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x140]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c48b7
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov eax, dword [edx + ebx + 4]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x5cc]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x140]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c482d
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x178]
call fcn.00421d30
cmp eax, ebx
jle 0x5c4994
push ebx
lea ecx, [esp + 0x17c]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x12c]
mov dword [esp + 0x10], eax
call fcn.0070b300
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jg 0x5c4994
fld qword [esp + 0x44]
mov ebx, ecx
fchs
fstp qword [esp + 0x34]
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov edx, dword [esi + edi*4 + 0xf0]
mov eax, dword [edx + ebx + 4]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0x5dc]
push edx
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
inc ecx
push eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x12c]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0xc], eax
jle 0x5c490a
mov ebx, dword [esp + 0x10]
inc ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x10], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c46eb
xor ebx, ebx
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x7c], ebx
call fcn.00421d30
test eax, eax
jle 0x5c4d9c
push ebx
lea ecx, [esp + 0x1e0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x254]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x1e0]
call fcn.0070b300
push ebx
lea ecx, [esp + 0x254]
mov dword [esp + 0x14], eax
call fcn.0070b300
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x5c4bfa
mov ebx, ecx
lea ecx, [ebx + ebx*4]
lea ebx, [ebx + ecx*2]
shl ebx, 4
mov dword [esp + 0x8c], ebx
lea ecx, [esp + 0x108]
mov dword [esp + 0x24], 0
call fcn.00421d30
test eax, eax
jle 0x5c4b67
mov edx, dword [esp + 0x24]
mov ebx, dword [esi + edi*4 + 0xf0]
push edx
lea ecx, [esp + 0x10c]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
shl edx, 4
mov eax, dword [edx + ebx + 4]
push eax
mov ecx, dword [edx + ebx]
mov edx, dword [esp + 0x90]
push ecx
lea ecx, [edx + ebx]
call fcn.004e3590
test eax, eax
je 0x5c4b43
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x108]
push eax
call fcn.0070b300
mov ecx, dword [esp + 0x24]
mov ebx, eax
push ecx
lea ecx, [esp + 0x154]
mov dword [esp + 0x34], ebx
call fcn.0070b300
cmp ebx, eax
jg 0x5c4b43
fld qword [esp + 0x44]
lea edx, [ebx + ebx*4]
fchs
fstp qword [esp + 0x34]
lea ebx, [ebx + edx*2]
shl ebx, 4
mov eax, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax + ebx + 4]
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + ebx]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x5ec]
push eax
push ecx
call fcn.004fc420
mov edx, dword [esi + edi*4 + 0xf0]
mov ecx, dword [eax]
mov dword [edx + ebx], ecx
mov eax, dword [eax + 4]
mov dword [edx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
inc ecx
push eax
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x154]
add ebx, 0xb0
call fcn.0070b300
cmp dword [esp + 0x30], eax
jle 0x5c4abd
mov ebx, dword [esp + 0x24]
lea ecx, [esp + 0x108]
inc ebx
mov dword [esp + 0x24], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c4a39
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esi + edi*4 + 0xf0]
fld qword [esp + 0x44]
mov edx, dword [ecx + ebx + 4]
push edx
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + ebx]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push edx
lea eax, [esp + 0x5f8]
sub esp, 8
fchs
fstp qword [esp]
push eax
call fcn.004fc420
mov ecx, dword [esi + edi*4 + 0xf0]
mov edx, dword [eax]
mov dword [ecx + ebx], edx
mov eax, dword [eax + 4]
mov dword [ecx + ebx + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esi + edi*4 + 0xf0]
push edx
add ecx, ebx
call fcn.005c5db0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
inc ecx
add ebx, 0xb0
mov dword [esp + 0x10], ecx
push eax
lea ecx, [esp + 0x254]
mov dword [esp + 0x90], ebx
call fcn.0070b300
cmp dword [esp + 0x10], eax
jle 0x5c4a1d
mov ebx, dword [esp + 0x7c]
lea ecx, [esp + 0x1dc]
call fcn.00421d30
dec eax
cmp ebx, eax
jne 0x5c4d83
push ebx
lea ecx, [esp + 0x1e0]
call fcn.0070b300
lea ecx, [eax + eax*4]
push ebx
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x38c], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x390], ecx
lea ecx, [esp + 0x254]
call fcn.0070b300
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [esi + edi*4 + 0xf0]
shl eax, 4
add eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x388]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x38c]
push eax
push ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x3a4], edx
call fcn.004e3590
test eax, eax
jne 0x5c4d83
mov edx, dword [esp + 0x39c]
mov eax, dword [esp + 0x398]
push edx
push eax
lea ecx, [esp + 0xc8]
call fcn.004e3590
test eax, eax
jne 0x5c4d83
mov ecx, dword [esp + 0x38c]
mov edx, dword [esp + 0x388]
mov eax, dword [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xc4]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x39c]
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0xc4]
push edx
mov edx, dword [esp + 0xc4]
push eax
fstp qword [esp + 0x224]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x21c]
fcomp st(1)
push ebx
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c4d52
lea ecx, [esp + 0x1e0]
call fcn.0070b300
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esi + edi*4 + 0xf0]
shl edx, 4
add edx, eax
mov eax, dword [esp + 0xc0]
mov dword [edx], eax
mov ecx, dword [esp + 0xc4]
mov dword [edx + 4], ecx
jmp 0x5c4d83
lea ecx, [esp + 0x254]
call fcn.0070b300
mov ecx, dword [esi + edi*4 + 0xf0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 4
add eax, ecx
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
mov edx, dword [esp + 0xc4]
mov dword [eax + 4], edx
inc ebx
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x7c], ebx
call fcn.00421d30
cmp ebx, eax
jl 0x5c49c7
mov eax, dword [esp + 0x218]
test eax, eax
jne 0x5c5495
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x54]
mov ebx, eax
push edx
mov edx, dword [esp + 0x30]
push ecx
push eax
mov dword [esp + 0x48c], ecx
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x608]
push eax
push ecx
push edx
lea ecx, [esp + 0x624]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x624]
mov edx, dword [eax]
mov eax, dword [esp + 0x488]
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov edx, dword [eax + 4]
lea ecx, [esp + 0x638]
push edx
mov eax, dword [eax]
push eax
push ecx
call fcn.004fc5c0
mov edx, dword [eax]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x64]
mov eax, dword [eax + 4]
push edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x30]
push ecx
mov ebx, eax
push eax
mov dword [esp + 0x4ac], ecx
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x648]
push eax
push ecx
push edx
lea ecx, [esp + 0x664]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x664]
mov edx, dword [eax]
mov eax, dword [esp + 0x4a8]
push edx
push eax
push ebx
push ecx
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov edx, dword [eax + 4]
lea ecx, [esp + 0x678]
push edx
mov eax, dword [eax]
push eax
push ecx
call fcn.004fc5c0
mov edx, dword [eax]
mov dword [esp + 0x60], edx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x54]
mov ebx, dword [eax + 4]
mov eax, dword [eax]
push 0x40c38800
push 0
push ecx
push edx
push ebx
push eax
push ecx
lea ecx, [esp + 0x694]
push edx
push ecx
call fcn.004fb740
mov ebx, dword [eax]
mov ecx, dword [esp + 0x60]
push 0x40c38800
push 0
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x458], edx
mov edx, dword [esp + 0x5c]
push eax
push ecx
push edx
mov edx, dword [esp + 0x64]
push edx
push eax
lea eax, [esp + 0x6a4]
push ecx
push eax
call fcn.004fb740
mov ecx, dword [eax]
mov dword [esp + 0x24], 0
mov dword [esp + 0x390], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0xa0]
test eax, eax
mov dword [esp + 0x394], edx
je 0x5c5083
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x2c], 0
call fcn.00421d30
test eax, eax
jle 0x5c51cf
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x1c8]
push eax
call fcn.0070b300
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
push ecx
lea ecx, [esp + 0x27c]
call fcn.0070b300
lea ecx, [esp + 0x234]
mov dword [esp + 0x34], eax
call fcn.0073b250
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0x234]
push edx
mov edx, dword [esp + 0x398]
push eax
mov eax, dword [esp + 0x398]
push ecx
mov ecx, dword [esp + 0x45c]
push edx
push eax
push ecx
push ebx
mov ecx, esi
call fcn.005ce3c0
test eax, eax
je 0x5c505f
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
inc ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x238]
push edx
mov edx, dword [esp + 0x238]
push eax
push ecx
push edx
call fcn.004fb030
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x238]
push eax
mov eax, dword [esp + 0x238]
push ecx
fstp qword [esp + 0x224]
push edx
push eax
call fcn.004fb030
fld qword [esp + 0x21c]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c503e
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x238]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
jmp 0x5c5054
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x24], 2
je 0x5c51cf
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x1c8]
inc edx
mov dword [esp + 0x2c], edx
call fcn.00421d30
cmp dword [esp + 0x2c], eax
jl 0x5c4f56
jmp 0x5c51cf
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x5c51cf
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x2c], 0
call fcn.00421d30
test eax, eax
jle 0x5c51cf
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x1dc]
push edx
call fcn.0070b300
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x254]
call fcn.0070b300
lea ecx, [esp + 0x224]
mov dword [esp + 0x34], eax
call fcn.0073b250
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x224]
push ecx
mov ecx, dword [esp + 0x398]
push edx
mov edx, dword [esp + 0x398]
push eax
mov eax, dword [esp + 0x45c]
push ecx
push edx
push eax
push ebx
mov ecx, esi
call fcn.005ce3c0
test eax, eax
je 0x5c51b0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x228]
push ecx
mov ecx, dword [esp + 0x228]
push edx
push eax
push ecx
call fcn.004fb030
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x228]
push edx
mov edx, dword [esp + 0x228]
push eax
fstp qword [esp + 0x224]
push ecx
push edx
call fcn.004fb030
fld qword [esp + 0x21c]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x5c5193
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x228]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
jmp 0x5c51a9
mov edx, dword [esp + 0x224]
mov eax, dword [esp + 0x228]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
cmp dword [esp + 0x24], 2
je 0x5c51cf
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x1dc]
inc edx
mov dword [esp + 0x2c], edx
call fcn.00421d30
cmp dword [esp + 0x2c], eax
jl 0x5c50ab
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x54]
push edx
push ecx
mov dword [esp + 0x3f0], eax
push eax
lea eax, [esp + 0x6a8]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x38]
push eax
push ebx
push ecx
lea ecx, [esp + 0x6c4]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x3f0]
push edx
mov edx, dword [esp + 0x3f0]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x6cc]
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
lea eax, [esp + 0x6dc]
push edx
push eax
call fcn.004fc5c0
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push edx
push ecx
mov dword [esp + 0x128], eax
push eax
lea eax, [esp + 0x6e8]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x38]
push eax
push ebx
push ecx
lea ecx, [esp + 0x704]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x128]
push edx
mov edx, dword [esp + 0x128]
mov eax, dword [eax]
push eax
push ecx
lea eax, [esp + 0x70c]
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
lea eax, [esp + 0x71c]
push edx
push eax
call fcn.004fc5c0
mov ecx, dword [eax]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x6c], edx
call fcn.005c5d80
test eax, eax
je 0x5c53b8
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xa4]
push edx
call fcn.00421890
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
push 0
push eax
mov eax, dword [esp + 0x28]
push 1
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec edx
push edx
call fcn.00421890
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xa4]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push 0
push ecx
push 1
push edx
lea ecx, [esp + 0x728]
push eax
push ecx
lea ecx, [esp + 0x34]
call fcn.005c5dd0
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
mov eax, dword [eax]
push eax
push ecx
push edx
mov ecx, esi
call fcn.005cddb0
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec eax
push eax
call fcn.00421890
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
push ecx
push edx
lea ecx, [esp + 0x68]
call fcn.005c5d80
test eax, eax
je 0x5c5495
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xa4]
push eax
call fcn.00421890
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push 0
push ecx
mov ecx, dword [esp + 0x64]
push 1
push edx
mov edx, dword [esp + 0x68]
push eax
push ecx
push edx
mov ecx, esi
call fcn.005cddb0
mov eax, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec eax
push eax
call fcn.00421890
mov ecx, dword [esi + edi*4 + 0xdc]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00421890
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push 0
push edx
push 1
push eax
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x738]
push ecx
push edx
push ebx
push eax
lea ecx, [esp + 0x758]
call fcn.00464d80
mov ecx, eax
call fcn.005c5dd0
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [eax]
mov eax, dword [esp + 0x74]
push edx
push eax
push ecx
mov ecx, esi
call fcn.005cddb0
mov edx, dword [esi + edi*4 + 0xdc]
lea ecx, [esp + 0xc8]
dec edx
push edx
call fcn.00421890
lea ecx, [esp + 0x3c8]
mov byte [esp + 0xa48], 0x88
call fcn.00407640
lea ecx, [esp + 0x250]
mov byte [esp + 0xa48], 0x87
call fcn.00407640
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xa48], 0x86
call fcn.00407640
lea ecx, [esp + 0x278]
mov byte [esp + 0xa48], 0x85
call fcn.00407640
lea ecx, [esp + 0x1c8]
mov byte [esp + 0xa48], 0x6e
call fcn.00407640
xor ebx, ebx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x1a8]
inc eax
cmp eax, ecx
mov dword [esp + 0x40], eax
jl 0x5c085f
mov eax, dword [esp + 0x70]
or edi, 0xffffffff
mov dword [esp + 0x30], edi
mov dword [esp + 0x214], edi
mov dword [esi + eax*4 + 0x515d58], 1
lea ecx, [esp + 0x264]
mov dword [esp + 0x40], ebx
call fcn.00421d30
test eax, eax
jle 0x5c5592
mov ecx, dword [esp + 0x40]
push ecx
lea ecx, [esp + 0x268]
call fcn.0070b300
cmp eax, dword [esp + 0x30]
jle 0x5c5570
mov edi, dword [esp + 0x40]
lea ecx, [esp + 0x264]
push edi
call fcn.0070b300
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x264]
inc edx
mov dword [esp + 0x40], edx
call fcn.00421d30
cmp dword [esp + 0x40], eax
jl 0x5c5544
mov dword [esp + 0x214], edi
cmp edi, ebx
mov dword [esp + 0x30], edi
jl 0x5c5602
push edi
lea ecx, [esp + 0x2f0]
call fcn.0070b300
mov edx, eax
push edi
lea ecx, [esp + 0x268]
mov dword [esp + 0x248], edx
call fcn.0070b300
mov edx, dword [esp + 0x244]
mov edi, dword [esp + 0x214]
sub eax, edx
lea ecx, [esp + 0x2ec]
dec eax
push eax
push edi
call fcn.0070b300
push eax
mov ecx, esi
call fcn.0054d800
push 1
push edi
lea ecx, [esp + 0x26c]
call fcn.004219e0
push 1
push edi
lea ecx, [esp + 0x2f4]
call fcn.004219e0
lea ecx, [esp + 0x264]
call fcn.00421d30
test eax, eax
jg 0x5c5530
lea ecx, [esp + 0x2ec]
mov byte [esp + 0xa48], 0x6d
call fcn.00407640
lea ecx, [esp + 0x264]
mov byte [esp + 0xa48], 0x6a
call fcn.00407640
lea ecx, [esp + 0x84]
mov byte [esp + 0xa48], 0x67
call fcn.0076087b
lea ecx, [esp + 0x80]
mov byte [esp + 0xa48], 0x66
call fcn.0076087b
lea ecx, [esp + 0x2d0]
mov byte [esp + 0xa48], 0x65
call fcn.00421eb0
lea ecx, [esp + 0x2bc]
mov byte [esp + 0xa48], 0x58
call fcn.00421eb0
lea ecx, [esp + 0x98]
mov byte [esp + 0xa48], 0x57
call fcn.0076087b
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa48], 0x18
call fcn.0076087b
lea ecx, [esp + 0x78]
mov byte [esp + 0xa48], 0xb
call fcn.0076087b
lea ecx, [esp + 0x128]
mov byte [esp + 0xa48], 0xa
call fcn.00407640
lea ecx, [esp + 0x178]
mov byte [esp + 0xa48], 9
call fcn.00407640
lea ecx, [esp + 0x13c]
mov byte [esp + 0xa48], 8
call fcn.00407640
lea ecx, [esp + 0x164]
mov byte [esp + 0xa48], 7
call fcn.00407640
lea ecx, [esp + 0x200]
mov byte [esp + 0xa48], 6
call fcn.00407640
lea ecx, [esp + 0x18c]
mov byte [esp + 0xa48], 5
call fcn.00407640
lea ecx, [esp + 0xf0]
mov byte [esp + 0xa48], 4
call fcn.00407640
lea ecx, [esp + 0xdc]
mov byte [esp + 0xa48], 3
call fcn.00407640
lea ecx, [esp + 0x150]
mov byte [esp + 0xa48], 2
call fcn.00407640
lea ecx, [esp + 0x108]
mov byte [esp + 0xa48], 1
call fcn.00407640
lea ecx, [esp + 0xc8]
mov byte [esp + 0xa48], 0
call fcn.00407640
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa48], 0xffffffff
call fcn.00407640
mov eax, 1
mov ecx, dword [esp + 0xa40]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x3c8]
mov byte [esp + 0xa48], 0x88
call fcn.00407640
lea ecx, [esp + 0x250]
mov byte [esp + 0xa48], 0x87
call fcn.00407640
lea ecx, [esp + 0x1dc]
mov byte [esp + 0xa48], 0x86
call fcn.00407640
lea ecx, [esp + 0x278]
mov byte [esp + 0xa48], 0x85
call fcn.00407640
lea ecx, [esp + 0x1c8]
mov byte [esp + 0xa48], 0x6e
call fcn.00407640
lea ecx, [esp + 0x2ec]
mov byte [esp + 0xa48], 0x6d
call fcn.00407640
lea ecx, [esp + 0x264]
mov byte [esp + 0xa48], 0x6a
call fcn.00407640
lea ecx, [esp + 0x84]
mov byte [esp + 0xa48], 0x67
call fcn.0076087b
lea ecx, [esp + 0x80]
mov byte [esp + 0xa48], 0x66
call fcn.0076087b
lea ecx, [esp + 0x2d0]
mov byte [esp + 0xa48], 0x65
call fcn.00421eb0
lea ecx, [esp + 0x2bc]
mov byte [esp + 0xa48], 0x58
call fcn.00421eb0
lea ecx, [esp + 0x98]
mov byte [esp + 0xa48], 0x57
call fcn.0076087b
lea ecx, [esp + 0x9c]
mov byte [esp + 0xa48], 0x18
call fcn.0076087b
lea ecx, [esp + 0x78]
mov byte [esp + 0xa48], 0xb
call fcn.0076087b
lea ecx, [esp + 0x128]
mov byte [esp + 0xa48], 0xa
call fcn.00407640
lea ecx, [esp + 0x178]
mov byte [esp + 0xa48], 9
call fcn.00407640
lea ecx, [esp + 0x13c]
mov byte [esp + 0xa48], 8
call fcn.00407640
lea ecx, [esp + 0x164]
mov byte [esp + 0xa48], 7
call fcn.00407640
lea ecx, [esp + 0x200]
mov byte [esp + 0xa48], 6
call fcn.00407640
lea ecx, [esp + 0x18c]
mov byte [esp + 0xa48], 5
call fcn.00407640
lea ecx, [esp + 0xf0]
mov byte [esp + 0xa48], 4
call fcn.00407640
lea ecx, [esp + 0xdc]
mov byte [esp + 0xa48], 3
call fcn.00407640
lea ecx, [esp + 0x150]
mov byte [esp + 0xa48], 2
call fcn.00407640
lea ecx, [esp + 0x108]
mov byte [esp + 0xa48], 1
call fcn.00407640
lea ecx, [esp + 0xc8]
mov byte [esp + 0xa48], 0
call fcn.00407640
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa48], 0xffffffff
call fcn.00407640
jmp 0x5c5d5d
lea ecx, [esp + 0x78]
mov byte [esp + 0xa48], 0xb
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x12c]
mov byte [esp + 0xa48], 0x4b
cmp eax, ebx
je 0x5c5a1c
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0xa48], 0x4c
cmp eax, ebx
je 0x5c5a3f
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x13c], esi
mov eax, dword [esp + 0x140]
mov byte [esp + 0xa48], 0x4d
cmp eax, ebx
je 0x5c5a62
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0xa48], 0x4e
cmp eax, ebx
je 0x5c5a85
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x200], esi
mov eax, dword [esp + 0x204]
mov byte [esp + 0xa48], 0x4f
cmp eax, ebx
je 0x5c5aa8
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0xa48], 0x50
cmp eax, ebx
je 0x5c5acb
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xf4]
mov byte [esp + 0xa48], 0x51
cmp eax, ebx
je 0x5c5aee
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0xe0]
mov byte [esp + 0xa48], 0x52
cmp eax, ebx
je 0x5c5b11
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0xa48], 0x53
cmp eax, ebx
je 0x5c5b34
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x10c]
mov byte [esp + 0xa48], 0x54
cmp eax, ebx
je 0x5c5b57
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xcc]
mov byte [esp + 0xa48], 0x55
cmp eax, ebx
je 0x5c5b7a
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa48], 0x56
cmp eax, ebx
je 0x5c5d5d
jmp 0x5c5d54
lea ecx, [esp + 0x78]
mov byte [esp + 0xa48], 0xb
call fcn.0076087b
mov esi, 0x7cab08
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x12c]
mov byte [esp + 0xa48], 0x33
cmp eax, ebx
je 0x5c5bd9
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x178], esi
mov eax, dword [esp + 0x17c]
mov byte [esp + 0xa48], 0x34
cmp eax, ebx
je 0x5c5bfc
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x13c], esi
mov eax, dword [esp + 0x140]
mov byte [esp + 0xa48], 0x35
cmp eax, ebx
je 0x5c5c1f
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x164], esi
mov eax, dword [esp + 0x168]
mov byte [esp + 0xa48], 0x36
cmp eax, ebx
je 0x5c5c42
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x200], esi
mov eax, dword [esp + 0x204]
mov byte [esp + 0xa48], 0x37
cmp eax, ebx
je 0x5c5c65
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x18c], esi
mov eax, dword [esp + 0x190]
mov byte [esp + 0xa48], 0x38
cmp eax, ebx
je 0x5c5c88
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xf4]
mov byte [esp + 0xa48], 0x39
cmp eax, ebx
je 0x5c5cab
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0xe0]
mov byte [esp + 0xa48], 0x3a
cmp eax, ebx
je 0x5c5cce
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x150], esi
mov eax, dword [esp + 0x154]
mov byte [esp + 0xa48], 0x3b
cmp eax, ebx
je 0x5c5cf1
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0x108], esi
mov eax, dword [esp + 0x10c]
mov byte [esp + 0xa48], 0x3c
cmp eax, ebx
je 0x5c5d14
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xcc]
mov byte [esp + 0xa48], 0x3d
cmp eax, ebx
je 0x5c5d37
push eax
call fcn.007604d0
add esp, 4
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa48], 0x3e
cmp eax, ebx
je 0x5c5d5d
push eax
call fcn.007604d0
add esp, 4
mov ecx, dword [esp + 0xa40]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4