Function at 0x45a448
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5efa49
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x658
push esi
push edi
mov dword [ebp - 0x5d0], ecx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x8bb8c]
cmp dword [ecx + 0x28], 1
jne 0x45a487
xor eax, eax
jmp 0x45fcfe
mov edx, dword [0x63dae8]
cmp dword [edx + 0x434], 1
jne 0x45a49d
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa3d]
cmp edx, 1
jne 0x45a4b9
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa2d]
test edx, edx
je 0x45a4d4
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov dword [eax + 0x26ec4], 0
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
cmp dword [edx + 0xa30], 1
jne 0x45a4fd
xor eax, eax
jmp 0x45fcfe
mov dword [ebp - 0x18], 0
mov eax, dword [0x277c024]
add eax, 0x750
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x45a531
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x30c]
and edx, 0x20000000
test edx, edx
je 0x45a531
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x20], 0
cmp dword [ebp + 0x24], 0
jne 0x45a54f
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0xbc]
mov dword [ebp - 0x20], ecx
jmp 0x45a555
mov edx, dword [ebp + 0x24]
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 0
je 0x45a591
mov eax, dword [ebp - 0x20]
movsx ecx, byte [eax + 0xa25]
cmp ecx, 1
jne 0x45a591
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x218], 0x42
jne 0x45a591
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa36]
test edx, edx
jne 0x45a591
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov dword [eax + 0x26ebc], 0
mov ecx, dword [0x277c024]
movsx edx, byte [ecx + 0xf45]
mov eax, dword [0x277c024]
mov cl, byte [eax + edx + 0xf46]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x68
jle 0x45a5d9
mov eax, dword [ebp - 0x14]
and eax, 0xff
add eax, 0x5f
mov byte [ebp - 0x14], al
cmp dword [ebp - 0x20], 0
je 0x45a600
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 6
jne 0x45a600
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x218], 0x42
jne 0x45a600
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, word [ecx + 0xa60]
cmp edx, 0x1036
jl 0x45a67b
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, word [ecx + 0xa60]
cmp edx, 0x1068
jge 0x45a67b
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x40
je 0x45a674
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x42
je 0x45a674
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x44
je 0x45a674
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x46
je 0x45a674
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x47
jne 0x45a67b
xor eax, eax
jmp 0x45fcfe
mov dword [ebp - 0x10], 0xffffffff
mov edx, dword [ebp - 0x14]
and edx, 0xff
push edx
call fcn.0043b578
add esp, 4
test eax, eax
jne 0x45a69f
xor eax, eax
jmp 0x45fcfe
push 0x15
mov eax, dword [ebp - 0x28]
add eax, 0xbc
push eax
call fcn.00537962
add esp, 8
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x4f
jne 0x45a6d0
cmp dword [ebp - 0x1c], 0x65
je 0x45a6d0
xor eax, eax
jmp 0x45fcfe
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x4b
jne 0x45a6eb
cmp dword [ebp - 0x1c], 0x65
je 0x45a6eb
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x5c
jne 0x45a705
cmp dword [ebp - 0x1c], 0x29
je 0x45a705
xor eax, eax
jmp 0x45fcfe
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x63
jne 0x45a71a
xor eax, eax
jmp 0x45fcfe
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x53
jne 0x45a72f
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x54
jne 0x45a77e
push 0
push 0
push 0
mov ecx, dword [ebp - 0x5d0]
add ecx, 0x27d6c
call fcn.0057e819
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x6a4c4]
xor eax, eax
cmp dword [edx + 0x28], 0
sete al
push eax
mov ecx, dword [ebp - 0x5d0]
call fcn.00497df2
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x61
jne 0x45a86b
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
jmp 0x45a7a9
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0x64
jge 0x45a851
mov eax, dword [ebp - 0x30]
add eax, 0x3a99
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x38]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x45a84c
mov eax, dword [ebp - 0x34]
movsx ecx, word [eax + 0xe8]
cmp ecx, 0x2ea
jne 0x45a84c
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov esi, eax
mov edx, dword [ebp - 0x38]
fld dword [edx + 0x268]
call fcn.005c5ef0
cmp esi, eax
jne 0x45a84c
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov esi, eax
mov edx, dword [ebp - 0x38]
fld dword [edx + 0x26c]
call fcn.005c5ef0
cmp esi, eax
jne 0x45a84c
mov dword [ebp - 0x2c], 1
mov eax, dword [ebp - 0x30]
add eax, 0x3a99
mov dword [ebp - 0x10], eax
jmp 0x45a851
jmp 0x45a7a0
cmp dword [ebp - 0x2c], 0
jne 0x45a86b
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
cmp dword [eax + 0x9d8], 2
jne 0x45a896
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
cmp dword [edx + 0x9d8], 3
jne 0x45a896
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x14]
and eax, 0xff
test eax, eax
jl 0x45a8b3
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0xf8
jl 0x45a8c7
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
xor ecx, ecx
mov cx, word [eax + 0x276da]
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x45a8f8
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da890], 1
jne 0x45a921
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
cmp dword [ebp - 0x20], 0
je 0x45aa89
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 8
je 0x45a95d
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 9
jne 0x45a99b
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0xf
je 0x45a98f
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x10
jne 0x45a99b
mov dword [ebp - 0x5d4], 1
jmp 0x45a9a5
mov dword [ebp - 0x5d4], 0
mov eax, dword [ebp - 0x5d4]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45a9ed
cmp dword [ebp - 0x20], 0
je 0x45a9ed
mov edx, dword [ebp - 0x20]
xor eax, eax
mov al, byte [edx + 0x214]
cmp eax, 1
jne 0x45a9ed
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da880], 1
jne 0x45aa89
cmp dword [ebp - 0x20], 0
je 0x45aa89
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
xor edx, edx
mov dx, word [ecx + 0x878]
test edx, edx
je 0x45aa89
mov eax, dword [0x277c024]
xor ecx, ecx
mov cx, word [eax + 0xf62]
test ecx, ecx
je 0x45aa89
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
xor ecx, ecx
mov cx, word [eax + 0x878]
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ax, word [edx + 0x878]
cmp ecx, eax
je 0x45aa75
mov ecx, dword [0x277c024]
xor edx, edx
mov dx, word [ecx + 0xf62]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cx, word [eax + 0x878]
cmp edx, ecx
jne 0x45aa89
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
cmp dword [0x63a2a0], 0
jne 0x45abb6
cmp dword [0x63a2b4], 0
jne 0x45ab3b
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45ab3b
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
test eax, eax
jle 0x45ab3b
cmp dword [ebp - 0x20], 0
je 0x45ab3b
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0xa5a]
test edx, edx
jne 0x45ab3b
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x20], 0
jb 0x45ab04
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x20], 0x3e8
jae 0x45ab04
mov dword [ebp - 0x5d8], 1
jmp 0x45ab0e
mov dword [ebp - 0x5d8], 0
cmp dword [ebp - 0x5d8], 0
je 0x45ab3b
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x20]
call dword [eax + 0x54]
cmp eax, 1
jne 0x45ab3b
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
cmp dword [0x63a2b4], 0
jne 0x45abb1
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da880], 1
jne 0x45abb1
cmp dword [ebp - 0x20], 0
je 0x45abb1
mov eax, dword [ebp - 0x20]
movsx ecx, byte [eax + 0x215]
cmp ecx, 1
jne 0x45abb1
mov edx, dword [0x277c024]
xor eax, eax
mov ax, word [edx + 0xf60]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ecx + 0x878]
cmp eax, edx
je 0x45abb1
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cx, word [eax + 0x878]
test ecx, ecx
je 0x45abb1
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
jmp 0x45acd8
cmp dword [0x63a2b4], 0
jne 0x45ac53
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45ac53
cmp dword [ebp - 0x20], 0
je 0x45ac53
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0xa5a]
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx eax, byte [ecx + 0xa5a]
cmp edx, eax
jne 0x45ac53
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x20], 0
jb 0x45ac1c
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x20], 0x3e8
jae 0x45ac1c
mov dword [ebp - 0x5dc], 1
jmp 0x45ac26
mov dword [ebp - 0x5dc], 0
cmp dword [ebp - 0x5dc], 0
je 0x45ac53
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x54]
cmp eax, 1
jne 0x45ac53
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
cmp dword [0x63a2b4], 0
jne 0x45acd8
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45acd8
cmp dword [ebp - 0x20], 0
je 0x45acd8
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0x215]
cmp eax, 1
jne 0x45acd8
mov ecx, dword [0x277c024]
xor edx, edx
mov dx, word [ecx + 0xf60]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cx, word [eax + 0x878]
cmp edx, ecx
je 0x45acd8
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ax, word [edx + 0x878]
test eax, eax
je 0x45acd8
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x58]
test eax, eax
jne 0x45acd8
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
jmp 0x45fcfe
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
mov edx, dword [ecx + 0x11da844]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x5d0]
cmp dword [eax + 0x26ea0], 9
jl 0x45ad0b
cmp dword [ebp - 0x24], 2
jl 0x45ad0b
mov ecx, dword [ebp - 0x24]
sub ecx, 1
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa34]
cmp ecx, 1
jne 0x45ad29
mov edx, dword [ebp - 0x24]
sub edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 1
jge 0x45ad36
mov dword [ebp - 0x24], 1
cmp dword [ebp - 0x20], 0
je 0x45ad72
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x218], 0x42
jne 0x45ad72
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0xa25]
cmp edx, 1
jne 0x45ad72
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa36]
test edx, edx
jne 0x45ad72
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov ecx, dword [ebp - 0x24]
imul ecx, ecx, 0x3e8
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + eax*4 + 0x8bea0]
add eax, ecx
cmp dword [ebp + 0x1c], eax
jae 0x45ad9e
xor eax, eax
jmp 0x45fcfe
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
cmp eax, 0x93a
jl 0x45ae0a
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
cmp eax, 0x942
jg 0x45ae0a
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
cmp eax, 0xf57
jl 0x45ae0a
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
cmp eax, 0xf5f
jg 0x45ae0a
mov dword [ebp - 0x5e0], 1
jmp 0x45ae14
mov dword [ebp - 0x5e0], 0
cmp dword [ebp - 0x5e0], 0
je 0x45ae24
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x2754c]
add ecx, 0x3e8
cmp dword [ebp + 0x1c], ecx
jbe 0x45e27e
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da83c], 0
je 0x45aeaa
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da83c], 3
je 0x45aeaa
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da83c], 4
je 0x45aeaa
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da83c], 5
je 0x45aeaa
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da83c], 6
jne 0x45e27e
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, word [edx + 0x614]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
mov edx, dword [0x277c024]
xor eax, eax
mov al, byte [edx + 0x764]
imul eax, eax, 0x18
sub ecx, eax
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x60
jge 0x45af09
mov eax, dword [ebp - 0x40]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [0x277c024]
xor ecx, ecx
mov cx, word [edx + eax*2 + 0x7d6]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [0x277c024]
xor ecx, ecx
mov cl, byte [eax + 0xa6b]
push ecx
mov edx, dword [ebp - 0x14]
and edx, 0xff
push edx
call fcn.005404e7
add esp, 0xc
mov ecx, dword [0x277c024]
cmp eax, dword [ecx + 0x7c8]
jle 0x45b031
mov dword [ebp - 0xf0], 0
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x27c40]
mov dword [ebp - 0xf0], eax
push 0xe54
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x5bc], 0
je 0x45afb4
push 0
push 1
push 0x77777777
push 0
push 0x41800000
push 0x43960000
push 0
push 0
push 0xffffaaaa
push 0x109b3b8
mov ecx, dword [ebp - 0x5bc]
call fcn.0040739b
mov dword [ebp - 0x5e4], eax
jmp 0x45afbe
mov dword [ebp - 0x5e4], 0
mov ecx, dword [ebp - 0x5e4]
mov dword [ebp - 0x5b8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5b8]
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 0
je 0x45aff8
mov eax, dword [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0xf0]
call fcn.00408e53
cmp dword [0x636738], 0
je 0x45b02a
push 0x21
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x45b02a
push 0
push 0
push 0x21
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
xor eax, eax
jmp 0x45fcfe
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x55
jne 0x45b15c
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
xor ecx, ecx
mov cx, word [eax + 0x640]
imul ecx, ecx, 0x64
mov edx, dword [0x277c024]
cmp ecx, dword [edx + 0x768]
jle 0x45b15c
mov dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x27c40]
mov dword [ebp - 0xf8], ecx
push 0xe54
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5c4], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x5c4], 0
je 0x45b0df
push 0
push 1
push 0x77777777
push 0
push 0x41800000
push 0x43960000
push 0
push 0
push 0xffffaaaa
push 0x109f238
mov ecx, dword [ebp - 0x5c4]
call fcn.0040739b
mov dword [ebp - 0x5e8], eax
jmp 0x45b0e9
mov dword [ebp - 0x5e8], 0
mov edx, dword [ebp - 0x5e8]
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c0]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
je 0x45b123
mov ecx, dword [ebp - 0xfc]
push ecx
mov ecx, dword [ebp - 0xf8]
call fcn.00408e53
cmp dword [0x636738], 0
je 0x45b155
push 0x21
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x45b155
push 0
push 0
push 0x21
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
xor eax, eax
jmp 0x45fcfe
mov edx, dword [ebp - 0x5d0]
mov ecx, dword [edx + 0x4c]
mov eax, dword [ebp - 0x5d0]
mov edx, dword [eax + 0x4c]
mov eax, dword [edx]
call dword [eax + 0x50]
cmp eax, 1
jne 0x45b194
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45b194
xor eax, eax
jmp 0x45fcfe
push 0xa8
push 0
lea edx, [ebp - 0xec]
push edx
call fcn.005c5b80
add esp, 0xc
mov word [ebp - 0xe8], 0x367
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x20]
mov word [ebp - 0xe6], dx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x20]
mov word [ebp - 0xc2], dx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov word [ebp - 0xca], ax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov word [ebp - 0xc8], ax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov word [ebp - 0xc6], ax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov word [ebp - 0xc4], ax
mov edx, dword [ebp - 0x5d0]
cmp dword [edx + 0x8b688], 0
je 0x45b28e
mov eax, dword [ebp - 0x5d0]
mov cx, word [eax + 0x8b688]
mov word [ebp - 0xca], cx
mov dx, word [ebp - 0xca]
mov word [ebp - 0xc6], dx
mov eax, dword [ebp - 0x5d0]
mov cx, word [eax + 0x8b68c]
mov word [ebp - 0xc8], cx
mov dx, word [ebp - 0xc8]
mov word [ebp - 0xc4], dx
mov dword [ebp - 0xb8], 0xffffffff
movzx ax, byte [ebp - 0x14]
mov word [ebp - 0xb4], ax
mov byte [ebp - 0xbb], 0
mov byte [ebp - 0xbe], 0xff
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da83c], 5
jne 0x45bc04
mov byte [ebp - 0xbd], 0
mov dword [ebp - 0x100], 0
mov edx, dword [0x277c024]
xor eax, eax
mov al, byte [edx + 0xa6a]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
jne 0x45b315
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [ebp + 0x10]
fsub dword [edx + 0x28]
fstp dword [ebp - 0x11c]
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ebp + 0x18]
fsub dword [ecx + 0x2c]
fstp dword [ebp - 0x124]
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x11c]
push eax
call fcn.00499980
add esp, 8
fstp dword [ebp - 0x104]
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
xor eax, eax
mov ax, word [edx + 0x642]
cdq
mov ecx, 0x4b
idiv ecx
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 3
jle 0x45b38e
mov dword [ebp - 0x120], 3
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x110], 0
je 0x45bbff
cmp dword [ebp - 0x118], 0x3e8
jle 0x45b3e4
jmp 0x45bbff
mov eax, dword [ebp - 0x118]
add eax, 1
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ebp - 0x110]
cmp edx, dword [ecx + 0x4c]
jne 0x45b415
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x110], ecx
jmp 0x45b3c6
mov edx, dword [ebp - 0x110]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x110]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x134], eax
mov edx, dword [ebp - 0x5d0]
cmp dword [edx + 0x8b688], 0
je 0x45b49e
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x8b688]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x8b68c]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0x128]
push edx
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x110]
cmp dword [edx + 0x218], 0x38
jne 0x45b50c
mov eax, dword [ebp - 0x110]
xor ecx, ecx
mov cx, word [eax + 0x166]
test ecx, ecx
jne 0x45b50c
mov edx, dword [ebp - 0x138]
sub edx, 0xc
mov dword [ebp - 0x138], edx
cmp dword [ebp - 0x138], 0
jge 0x45b50c
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x120]
add eax, 3
cmp dword [ebp - 0x138], eax
jg 0x45bbc4
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x110]
fld dword [eax + 0x28]
fsub dword [edx + 0x28]
fstp dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x110]
fld dword [eax + 0x2c]
fsub dword [edx + 0x2c]
fstp dword [ebp - 0x140]
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
call fcn.00499980
add esp, 8
fstp dword [ebp - 0x144]
fld dword [ebp - 0x144]
fsub dword [ebp - 0x104]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x41
jne 0x45b5a0
fld dword [ebp - 0x144]
fsub dword [ebp - 0x104]
fstp dword [ebp - 0x5ec]
jmp 0x45b5b4
fld dword [ebp - 0x144]
fsub dword [ebp - 0x104]
fchs
fstp dword [ebp - 0x5ec]
fld dword [ebp - 0x5ec]
fcomp dword [0x5f541c]
fnstsw ax
test ah, 1
je 0x45bbc4
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x148], ecx
push 8
mov edx, dword [ebp - 0x5d0]
add edx, 0xd4
push edx
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x134]
push edx
mov eax, dword [ebp - 0x130]
push eax
call fcn.0054139a
add esp, 0x18
mov ecx, dword [ebp - 0x110]
cmp dword [ecx + 0x218], 0x38
jne 0x45b650
mov edx, dword [ebp - 0x110]
xor eax, eax
mov ax, word [edx + 0x166]
test eax, eax
jne 0x45b650
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x128]
jne 0x45b66c
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [ebp - 0x12c]
je 0x45b680
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x110], eax
jmp 0x45b3c6
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x110]
call dword [edx + 0x54]
test eax, eax
jne 0x45b6f7
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45b6f7
mov ecx, dword [ebp - 0x110]
cmp dword [ecx + 0x20], 0
jb 0x45b6d0
mov edx, dword [ebp - 0x110]
cmp dword [edx + 0x20], 0x3e8
jae 0x45b6d0
mov dword [ebp - 0x5f0], 1
jmp 0x45b6da
mov dword [ebp - 0x5f0], 0
cmp dword [ebp - 0x5f0], 1
jne 0x45b6f7
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x110], ecx
jmp 0x45b3c6
mov edx, dword [ebp - 0x110]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x110]
call dword [eax + 0x54]
cmp eax, 1
jne 0x45bb4a
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45bb4a
mov edx, dword [ebp - 0x110]
xor eax, eax
mov al, byte [edx + 0x214]
cmp eax, 1
jne 0x45b751
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x110], edx
jmp 0x45b3c6
cmp dword [0x63a2b4], 0
jne 0x45b991
mov eax, dword [ebp - 0x110]
cmp dword [eax + 0x20], 0
jb 0x45b785
mov ecx, dword [ebp - 0x110]
cmp dword [ecx + 0x20], 0x3e8
jae 0x45b785
mov dword [ebp - 0x5f4], 1
jmp 0x45b78f
mov dword [ebp - 0x5f4], 0
cmp dword [ebp - 0x5f4], 1
jne 0x45b824
mov edx, dword [0x277c024]
xor eax, eax
mov ax, word [edx + 0xf60]
mov ecx, dword [ebp - 0x110]
xor edx, edx
mov dx, word [ecx + 0x878]
cmp eax, edx
je 0x45b824
cmp dword [0x63a2a0], 0
jne 0x45b7db
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x110], ecx
jmp 0x45b3c6
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
je 0x45b824
mov edx, dword [ebp - 0x110]
movsx eax, byte [edx + 0xa5a]
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx ecx, byte [edx + 0xa5a]
cmp eax, ecx
jne 0x45b824
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x110], eax
jmp 0x45b3c6
mov ecx, dword [ebp - 0x110]
movsx edx, byte [ecx + 0x215]
cmp edx, 1
jne 0x45b8ed
mov eax, dword [0x277c024]
xor ecx, ecx
mov cx, word [eax + 0xf60]
mov edx, dword [ebp - 0x110]
xor eax, eax
mov ax, word [edx + 0x878]
cmp ecx, eax
je 0x45b8ed
mov ecx, dword [ebp - 0x110]
xor edx, edx
mov dx, word [ecx + 0x878]
test edx, edx
je 0x45b8ed
cmp dword [0x63a2a0], 0
jne 0x45b88f
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x110], ecx
jmp 0x45b3c6
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jle 0x45b8ed
mov edx, dword [ebp - 0x110]
movsx eax, byte [edx + 0xa5a]
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx ecx, byte [edx + 0xa5a]
cmp eax, ecx
jne 0x45b8ed
mov edx, dword [ebp - 0x110]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x110]
call dword [eax + 0x58]
test eax, eax
jne 0x45b8ed
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x110], edx
jmp 0x45b3c6
mov eax, dword [ebp - 0x110]
movsx ecx, byte [eax + 0x215]
cmp ecx, 1
jne 0x45b991
mov edx, dword [ebp - 0x110]
xor eax, eax
mov ax, word [edx + 0x878]
test eax, eax
jne 0x45b991
cmp dword [0x63a2a0], 0
jne 0x45b933
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x110], edx
jmp 0x45b3c6
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa5a]
test edx, edx
jle 0x45b991
mov eax, dword [ebp - 0x110]
movsx ecx, byte [eax + 0xa5a]
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx edx, byte [eax + 0xa5a]
cmp ecx, edx
jne 0x45b991
mov eax, dword [ebp - 0x110]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x110]
call dword [edx + 0x58]
test eax, eax
jne 0x45b991
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x110], ecx
jmp 0x45b3c6
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jle 0x45ba55
mov edx, dword [ebp - 0x110]
movsx eax, byte [edx + 0xa5a]
test eax, eax
jle 0x45ba55
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
mov ecx, dword [ebp - 0x110]
movsx edx, byte [ecx + 0xa5a]
cmp eax, edx
jne 0x45ba55
cmp dword [0x63a2b4], 0
jne 0x45ba55
cmp dword [0x63a2a0], 0
jne 0x45ba41
mov eax, dword [ebp - 0x110]
cmp dword [eax + 0x20], 0
jb 0x45ba18
mov ecx, dword [ebp - 0x110]
cmp dword [ecx + 0x20], 0x3e8
jae 0x45ba18
mov dword [ebp - 0x5f8], 1
jmp 0x45ba22
mov dword [ebp - 0x5f8], 0
cmp dword [ebp - 0x5f8], 0
jne 0x45ba3f
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x110], eax
jmp 0x45b3c6
jmp 0x45ba55
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x110], edx
jmp 0x45b3c6
cmp dword [0x63a2b4], 0
jne 0x45baca
cmp dword [0x63a2a0], 0
jle 0x45baca
mov eax, dword [ebp - 0x110]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x110]
call dword [edx + 0x58]
test eax, eax
jne 0x45baca
mov eax, dword [ebp - 0x110]
cmp dword [eax + 0x20], 0
jb 0x45baa3
mov ecx, dword [ebp - 0x110]
cmp dword [ecx + 0x20], 0x3e8
jae 0x45baa3
mov dword [ebp - 0x5fc], 1
jmp 0x45baad
mov dword [ebp - 0x5fc], 0
cmp dword [ebp - 0x5fc], 1
jne 0x45baca
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x110], eax
jmp 0x45b3c6
mov ecx, dword [ebp - 0x110]
cmp dword [ecx + 0x20], 0
jb 0x45baf1
mov edx, dword [ebp - 0x110]
cmp dword [edx + 0x20], 0x3e8
jae 0x45baf1
mov dword [ebp - 0x600], 1
jmp 0x45bafb
mov dword [ebp - 0x600], 0
cmp dword [ebp - 0x600], 0
jne 0x45bb4a
mov eax, dword [ebp - 0x110]
xor ecx, ecx
mov cl, byte [eax + 0x214]
test ecx, ecx
jne 0x45bb4a
mov edx, dword [ebp - 0x110]
movsx eax, byte [edx + 0x215]
test eax, eax
jne 0x45bb4a
mov ecx, dword [ebp - 0x110]
call fcn.004fa230
test eax, eax
je 0x45bb4a
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x110], edx
jmp 0x45b3c6
mov eax, dword [ebp - 0x110]
movsx ecx, byte [eax + 0x211]
cmp ecx, 1
jne 0x45bb70
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x110], eax
jmp 0x45b3c6
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x110]
mov ax, word [edx + 0x20]
mov word [ebp + ecx*8 - 0xb0], ax
mov ecx, dword [ebp - 0x100]
mov dword [ebp + ecx*8 - 0xac], 0xffffffff
mov edx, dword [ebp - 0x100]
add edx, 1
mov dword [ebp - 0x100], edx
mov ax, word [ebp - 0x128]
mov word [ebp - 0xc6], ax
mov cx, word [ebp - 0x12c]
mov word [ebp - 0xc4], cx
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
mov edx, dword [ecx + 0x11da884]
cmp edx, dword [ebp - 0x100]
jg 0x45bbef
jmp 0x45bbff
cmp dword [ebp - 0x100], 0xd
jl 0x45bbfa
jmp 0x45bbff
jmp 0x45b3c6
jmp 0x45dd1f
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da83c], 3
je 0x45bc46
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da83c], 4
je 0x45bc46
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da83c], 6
jne 0x45d50b
mov byte [ebp - 0xbd], 0
mov dword [ebp - 0x150], 0
mov eax, dword [0x277c024]
xor ecx, ecx
mov cl, byte [eax + 0xa6a]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x154], ecx
cmp dword [ebp - 0x154], 0
jne 0x45bc8c
xor eax, eax
jmp 0x45fcfe
fld dword [ebp + 0x10]
call fcn.005c5ef0
mov dword [ebp - 0x160], eax
fld dword [ebp + 0x18]
call fcn.005c5ef0
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x160], 0
jne 0x45bce2
cmp dword [ebp - 0x164], 0
jne 0x45bce2
cmp dword [ebp - 0x20], 0
je 0x45bce2
mov edx, dword [ebp - 0x20]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x20]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x15c], 0
cmp dword [ebp - 0x154], 0
je 0x45d4ea
cmp dword [ebp - 0x15c], 0x3e8
jle 0x45bd0a
jmp 0x45d4ea
mov ecx, dword [ebp - 0x15c]
add ecx, 1
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x154]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x154]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
test ecx, ecx
je 0x45bdbf
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x10
je 0x45bdbf
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 7
je 0x45bdbf
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x11
je 0x45bdbf
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x17
je 0x45bdbf
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x23
je 0x45bdbf
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x27
je 0x45bdbf
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x33
je 0x45bdbf
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x37
jne 0x45beee
cmp dword [ebp - 0x20], 0
jne 0x45bdcf
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x20]
fld dword [ecx + 0x28]
call fcn.005c5ef0
and eax, 0xffff
mov dword [ebp - 0x160], eax
mov edx, dword [ebp - 0x20]
fld dword [edx + 0x2c]
call fcn.005c5ef0
and eax, 0xffff
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x218], 0x38
jne 0x45beee
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ecx + 0x166]
test edx, edx
jne 0x45beee
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x18c], eax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x8b688], 0
je 0x45be80
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x8b688]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x8b68c]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x20]
fld dword [eax + 0x2c]
call fcn.005c5ef0
push eax
mov ecx, dword [ebp - 0x20]
fld dword [ecx + 0x28]
call fcn.005c5ef0
push eax
mov edx, dword [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x18c]
push eax
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x194]
sub ecx, 0xc
mov dword [ebp - 0x194], ecx
cmp dword [ebp - 0x194], 1
jge 0x45beee
mov edx, dword [ebp - 0x20]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x20]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x5f
jne 0x45bf4a
mov edx, dword [ebp - 0x154]
cmp edx, dword [ebp - 0x20]
je 0x45bf4a
cmp dword [ebp - 0x20], 0
jne 0x45bf14
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x20]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x20]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x164], eax
jmp 0x45bcec
cmp dword [ebp - 0x154], 0
je 0x45bfd8
mov ecx, dword [ebp - 0x154]
xor edx, edx
mov dx, word [ecx + 0x878]
test edx, edx
je 0x45bfd8
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45bfd8
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
xor eax, eax
mov ax, word [edx + 0x878]
mov ecx, dword [ebp - 0x154]
xor edx, edx
mov dx, word [ecx + 0x878]
cmp eax, edx
je 0x45bfc4
mov eax, dword [0x277c024]
xor ecx, ecx
mov cx, word [eax + 0xf62]
mov edx, dword [ebp - 0x154]
xor eax, eax
mov ax, word [edx + 0x878]
cmp ecx, eax
jne 0x45bfd8
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x154], edx
jmp 0x45bcec
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x178], eax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x8b688], 0
je 0x45c039
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x8b688]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x8b68c]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x160]
push ecx
mov edx, dword [ebp - 0x17c]
push edx
mov eax, dword [ebp - 0x178]
push eax
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
test ecx, ecx
jne 0x45c0b5
cmp dword [ebp - 0x180], 2
jne 0x45c0b5
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x28]
call fcn.005c5ef0
cmp dword [ebp - 0x160], eax
je 0x45c0ab
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
cmp dword [ebp - 0x164], eax
jne 0x45c0b5
mov dword [ebp - 0x180], 1
cmp dword [ebp - 0x20], 0
je 0x45c0f9
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x218], 0x38
jne 0x45c0f9
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ecx + 0x166]
test edx, edx
jne 0x45c0f9
mov eax, dword [ebp - 0x180]
sub eax, 0xc
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0
jge 0x45c0f9
mov dword [ebp - 0x180], 0
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
test ecx, ecx
je 0x45c197
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x23
je 0x45c197
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x10
je 0x45c197
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 7
je 0x45c197
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x11
je 0x45c197
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x17
je 0x45c197
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x27
je 0x45c197
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x33
je 0x45c197
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x37
je 0x45c197
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x4f
je 0x45c197
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x61
jne 0x45c957
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
mov ecx, dword [eax + 0x11da848]
add ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x180], ecx
jle 0x45c686
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da848], 0xffffffff
je 0x45c686
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x23
je 0x45c67f
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x27
je 0x45c67f
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x61
je 0x45c67f
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1b4], 1
push 8
mov ecx, dword [ebp - 0x5d0]
add ecx, 0xd4
push ecx
lea edx, [ebp - 0x1b0]
push edx
lea eax, [ebp - 0x1ac]
push eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
push eax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
push eax
call fcn.0054139a
add esp, 0x18
mov edx, dword [ebp - 0x1ac]
cmp edx, dword [ebp - 0x160]
jne 0x45c2a4
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x164]
je 0x45c2ae
mov dword [ebp - 0x1b4], 0
cmp dword [ebp + 0x20], 1
jne 0x45c67f
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
mov edx, dword [ecx + 0x11da848]
add edx, dword [ebp - 0x18]
cmp dword [ebp - 0x180], edx
jl 0x45c67f
cmp dword [ebp - 0x1b4], 1
jne 0x45c67f
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
cmp dword [ecx + 0x9d8], 4
jl 0x45c3b1
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
cmp dword [eax + 0x9d8], 9
jg 0x45c3b1
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov eax, dword [edx + 0x5c]
imul eax, eax, 0x384
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov ecx, dword [edx + 0x60]
mov edx, dword [ecx + 0x2d0]
mov eax, dword [eax + edx*4 + 0x6c7a90]
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 2
jbe 0x45c35b
mov ecx, dword [ebp - 0x1c0]
sub ecx, 2
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov ecx, dword [edx + 0x60]
mov edx, dword [ecx + 0x2e4]
imul edx, dword [ebp - 0x1c0]
mov eax, dword [eax + 0x7f0]
lea ecx, [eax + edx*4]
cmp dword [ebp + 0x1c], ecx
sbb edx, edx
neg edx
mov dword [ebp - 0x1bc], edx
mov eax, dword [0x63dae8]
cmp dword [eax + 0x1c], 0
je 0x45c3b1
cmp dword [ebp - 0x1bc], 0
je 0x45c3b1
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x40], 0
je 0x45c67f
fld dword [ebp + 0x14]
fcomp dword [0x5f5424]
fnstsw ax
test ah, 1
je 0x45c3f2
cmp dword [ebp - 0x20], 0
je 0x45c3f2
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x28]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x2c]
mov dword [ebp + 0x18], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x30]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x26ea4]
push eax
mov ecx, dword [ebp - 0x5d0]
mov ecx, dword [ecx + 0x4c]
call fcn.004dc1da
fld dword [ebp + 0x10]
call fcn.005c5ef0
mov esi, eax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x28]
call fcn.005c5ef0
cmp esi, eax
jne 0x45c455
fld dword [ebp + 0x18]
call fcn.005c5ef0
mov esi, eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
cmp esi, eax
jne 0x45c455
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov dword [eax + 0x26ec4], 0
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x20]
mov dword [edx + 0xa04], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ebp + 0x1c]
mov dword [ecx + 0x27600], edx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa2c]
test edx, edx
je 0x45c4a1
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x8b688], 0
je 0x45c502
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x8b688]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x8b68c]
mov dword [ebp - 0x1c8], edx
cmp dword [ebp - 0x20], 0
je 0x45c67f
mov eax, dword [ebp - 0x20]
fld dword [eax + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x20]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x1b0], eax
mov edx, dword [ebp - 0x1b0]
push edx
mov eax, dword [ebp - 0x1ac]
push eax
mov ecx, dword [ebp - 0x1c8]
push ecx
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1d4], 1
mov dword [ebp - 0x1d8], 1
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x1ac]
jle 0x45c584
mov dword [ebp - 0x1d4], 0xffffffff
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1b0]
jle 0x45c59c
mov dword [ebp - 0x1d8], 0xffffffff
mov dword [ebp - 0x1d0], 0
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
mov eax, dword [edx + 0x11da848]
add eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1cc], eax
jle 0x45c65b
cmp dword [ebp - 0x1d0], 0x1f4
jle 0x45c5dd
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x1c4]
cmp ecx, dword [ebp - 0x1ac]
je 0x45c5fd
mov edx, dword [ebp - 0x1c4]
add edx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1c8]
cmp eax, dword [ebp - 0x1b0]
je 0x45c61d
mov ecx, dword [ebp - 0x1c8]
add ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1b0]
push edx
mov eax, dword [ebp - 0x1ac]
push eax
mov ecx, dword [ebp - 0x1c8]
push ecx
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1d0]
add eax, 1
mov dword [ebp - 0x1d0], eax
jmp 0x45c5a6
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ebp - 0x1c4]
mov dword [ecx + 0x276dc], edx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [ebp - 0x1c8]
mov dword [eax + 0x276e0], ecx
xor eax, eax
jmp 0x45fcfe
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x61
jne 0x45c7af
cmp dword [ebp - 0x180], 4
jge 0x45c6ab
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x38]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov edx, dword [ebp - 0x164]
sub edx, eax
mov dword [ebp - 0x604], edx
fild dword [ebp - 0x604]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov edx, dword [ebp - 0x160]
sub edx, eax
mov dword [ebp - 0x608], edx
fild dword [ebp - 0x608]
push ecx
fstp dword [esp]
call fcn.00499980
add esp, 8
fstp dword [ebp - 0x1e8]
fld dword [ebp - 0x1e8]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 1
je 0x45c74b
fld dword [ebp - 0x1e8]
fadd dword [0x5f533c]
fstp dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x1dc]
fld dword [eax + 0x34]
fsub dword [0x5f5420]
fstp dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1dc]
fld dword [ecx + 0x34]
fadd dword [0x5f5420]
fstp dword [ebp - 0x1e0]
fld dword [ebp - 0x1e8]
fcomp dword [ebp - 0x1e4]
fnstsw ax
test ah, 1
je 0x45c792
mov eax, 1
jmp 0x45fcfe
fld dword [ebp - 0x1e8]
fcomp dword [ebp - 0x1e0]
fnstsw ax
test ah, 0x41
jne 0x45c7af
mov eax, 1
jmp 0x45fcfe
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x23
jne 0x45c82f
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x20], 0
jb 0x45c7de
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x20], 0x3e8
jae 0x45c7de
mov dword [ebp - 0x60c], 1
jmp 0x45c7e8
mov dword [ebp - 0x60c], 0
cmp dword [ebp - 0x60c], 1
je 0x45c801
mov edx, dword [ebp - 0x20]
xor eax, eax
mov al, byte [edx + 0x214]
cmp eax, 1
jne 0x45c82f
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45c82f
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x20]
call dword [eax + 0x54]
test eax, eax
jne 0x45c82f
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da848], 0xffffffff
jne 0x45c87c
push 0x1b
mov edx, dword [0x277c024]
add edx, 0x750
push edx
call fcn.00539c2c
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x180]
cmp eax, dword [ebp - 0x1ec]
jle 0x45c87c
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x1a0], eax
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x198], eax
push 8
mov ecx, dword [ebp - 0x5d0]
add ecx, 0xd4
push ecx
lea edx, [ebp - 0x198]
push edx
lea eax, [ebp - 0x1a4]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x19c]
push edx
call fcn.0054139a
add esp, 0x18
cmp dword [ebp - 0x20], 0
je 0x45c92f
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x218], 0x38
jne 0x45c92f
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ecx + 0x166]
test edx, edx
jne 0x45c92f
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x1a4]
cmp edx, dword [ebp - 0x160]
jne 0x45c94b
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x164]
je 0x45c955
mov eax, 1
jmp 0x45fcfe
jmp 0x45c9c2
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
and eax, 0xffff
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
and eax, 0xffff
mov dword [ebp - 0x164], eax
mov edx, dword [ebp - 0x5d0]
cmp dword [edx + 0x8b688], 0
je 0x45c9c2
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x8b688]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x8b68c]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x170]
push ecx
mov edx, dword [ebp - 0x168]
push edx
mov eax, dword [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0x160]
push ecx
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x188], eax
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x174], eax
push 8
mov ecx, dword [ebp - 0x5d0]
add ecx, 0xd4
push ecx
lea edx, [ebp - 0x174]
push edx
lea eax, [ebp - 0x16c]
push eax
mov ecx, dword [ebp - 0x164]
push ecx
mov edx, dword [ebp - 0x160]
push edx
call fcn.00541885
add esp, 0x18
mov dword [ebp - 0x184], 0xffffffff
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da83c], 3
jne 0x45ca61
mov dword [ebp - 0x184], 1
jmp 0x45caa1
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da83c], 4
jne 0x45ca82
mov dword [ebp - 0x184], 2
jmp 0x45caa1
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da83c], 6
jne 0x45caa1
mov dword [ebp - 0x184], 3
mov eax, dword [ebp - 0x154]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x154]
call dword [edx + 0x54]
cmp eax, 1
jne 0x45d0ea
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45d0ea
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x4c], 0
je 0x45d0ea
mov edx, dword [ebp - 0x154]
cmp dword [edx + 0x20], 0
jb 0x45cb0a
mov eax, dword [ebp - 0x154]
cmp dword [eax + 0x20], 0x3e8
jae 0x45cb0a
mov dword [ebp - 0x610], 1
jmp 0x45cb14
mov dword [ebp - 0x610], 0
cmp dword [ebp - 0x610], 1
jne 0x45cbb6
cmp dword [0x63a2b4], 0
jne 0x45cbb6
mov ecx, dword [0x277c024]
xor edx, edx
mov dx, word [ecx + 0xf60]
mov eax, dword [ebp - 0x154]
xor ecx, ecx
mov cx, word [eax + 0x878]
cmp edx, ecx
je 0x45cbb6
cmp dword [0x63a2a0], 0
jne 0x45cb6d
mov edx, dword [ebp - 0x154]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x154], eax
jmp 0x45bcec
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
test eax, eax
je 0x45cbb6
mov ecx, dword [ebp - 0x154]
movsx edx, byte [ecx + 0xa5a]
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx eax, byte [ecx + 0xa5a]
cmp edx, eax
jne 0x45cbb6
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x154], edx
jmp 0x45bcec
cmp dword [0x63a2b4], 1
jne 0x45cccc
cmp dword [0x63a2a0], 0
jle 0x45cccc
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa5a]
test edx, edx
jle 0x45cccc
cmp dword [ebp - 0x20], 0
je 0x45cccc
mov eax, dword [ebp - 0x20]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jle 0x45cccc
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0xa5a]
cmp ecx, eax
jne 0x45cccc
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45cccc
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 8
je 0x45cc71
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 9
jne 0x45ccaf
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0xf
je 0x45cca3
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x10
jne 0x45ccaf
mov dword [ebp - 0x614], 1
jmp 0x45ccb9
mov dword [ebp - 0x614], 0
cmp dword [ebp - 0x614], 0
je 0x45cccc
mov eax, 1
jmp 0x45fcfe
cmp dword [0x63a2b4], 0
jne 0x45cda2
mov ecx, dword [ebp - 0x154]
movsx edx, byte [ecx + 0x215]
cmp edx, 1
jne 0x45cda2
mov eax, dword [0x277c024]
xor ecx, ecx
mov cx, word [eax + 0xf60]
mov edx, dword [ebp - 0x154]
xor eax, eax
mov ax, word [edx + 0x878]
cmp ecx, eax
je 0x45cda2
mov ecx, dword [ebp - 0x154]
xor edx, edx
mov dx, word [ecx + 0x878]
test edx, edx
je 0x45cda2
cmp dword [0x63a2a0], 0
jne 0x45cd44
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x154], ecx
jmp 0x45bcec
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jle 0x45cda2
mov edx, dword [ebp - 0x154]
movsx eax, byte [edx + 0xa5a]
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx ecx, byte [edx + 0xa5a]
cmp eax, ecx
jne 0x45cda2
mov edx, dword [ebp - 0x154]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x154]
call dword [eax + 0x58]
test eax, eax
jne 0x45cda2
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x154], edx
jmp 0x45bcec
cmp dword [0x63a2b4], 0
jne 0x45ce53
mov eax, dword [ebp - 0x154]
movsx ecx, byte [eax + 0x215]
cmp ecx, 1
jne 0x45ce53
mov edx, dword [ebp - 0x154]
xor eax, eax
mov ax, word [edx + 0x878]
test eax, eax
jne 0x45ce53
cmp dword [0x63a2a0], 0
jne 0x45cdf5
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x154], edx
jmp 0x45bcec
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa5a]
test edx, edx
jle 0x45ce53
mov eax, dword [ebp - 0x154]
movsx ecx, byte [eax + 0xa5a]
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx edx, byte [eax + 0xa5a]
cmp ecx, edx
jne 0x45ce53
mov eax, dword [ebp - 0x154]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x154]
call dword [edx + 0x58]
test eax, eax
jne 0x45ce53
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x154], ecx
jmp 0x45bcec
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jle 0x45cf17
mov edx, dword [ebp - 0x154]
movsx eax, byte [edx + 0xa5a]
test eax, eax
jle 0x45cf17
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
mov ecx, dword [ebp - 0x154]
movsx edx, byte [ecx + 0xa5a]
cmp eax, edx
jne 0x45cf17
cmp dword [0x63a2b4], 0
jne 0x45cf17
cmp dword [0x63a2a0], 0
jne 0x45cf03
mov eax, dword [ebp - 0x154]
cmp dword [eax + 0x20], 0
jb 0x45ceda
mov ecx, dword [ebp - 0x154]
cmp dword [ecx + 0x20], 0x3e8
jae 0x45ceda
mov dword [ebp - 0x618], 1
jmp 0x45cee4
mov dword [ebp - 0x618], 0
cmp dword [ebp - 0x618], 0
jne 0x45cf01
mov edx, dword [ebp - 0x154]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x154], eax
jmp 0x45bcec
jmp 0x45cf17
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x154], edx
jmp 0x45bcec
cmp dword [0x63a2b4], 0
jne 0x45cf8c
cmp dword [0x63a2a0], 0
jle 0x45cf8c
mov eax, dword [ebp - 0x154]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x154]
call dword [edx + 0x58]
test eax, eax
jne 0x45cf8c
mov eax, dword [ebp - 0x154]
cmp dword [eax + 0x20], 0
jb 0x45cf65
mov ecx, dword [ebp - 0x154]
cmp dword [ecx + 0x20], 0x3e8
jae 0x45cf65
mov dword [ebp - 0x61c], 1
jmp 0x45cf6f
mov dword [ebp - 0x61c], 0
cmp dword [ebp - 0x61c], 1
jne 0x45cf8c
mov edx, dword [ebp - 0x154]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x154], eax
jmp 0x45bcec
cmp dword [0x63a2b4], 0
jne 0x45d02c
cmp dword [0x63a2a0], 0
jle 0x45d02c
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
cmp eax, 3
jne 0x45d02c
mov ecx, dword [ebp - 0x154]
cmp dword [ecx + 0x20], 0
jb 0x45cfe2
mov edx, dword [ebp - 0x154]
cmp dword [edx + 0x20], 0x3e8
jae 0x45cfe2
mov dword [ebp - 0x620], 1
jmp 0x45cfec
mov dword [ebp - 0x620], 0
cmp dword [ebp - 0x620], 0
jne 0x45d018
mov eax, dword [ebp - 0x154]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jle 0x45d02c
mov edx, dword [ebp - 0x154]
movsx eax, byte [edx + 0xa5a]
cmp eax, 4
je 0x45d02c
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x154], edx
jmp 0x45bcec
mov eax, dword [ebp - 0x154]
xor ecx, ecx
mov cl, byte [eax + 0x214]
cmp ecx, 1
jne 0x45d053
mov edx, dword [ebp - 0x154]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x154], eax
jmp 0x45bcec
cmp dword [0x63a2b4], 0
jne 0x45d0ea
mov ecx, dword [ebp - 0x154]
cmp dword [ecx + 0x20], 0
jb 0x45d087
mov edx, dword [ebp - 0x154]
cmp dword [edx + 0x20], 0x3e8
jae 0x45d087
mov dword [ebp - 0x624], 1
jmp 0x45d091
mov dword [ebp - 0x624], 0
cmp dword [ebp - 0x624], 1
jne 0x45d0ea
mov eax, dword [ebp - 0x154]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jne 0x45d0ea
mov edx, dword [0x277c024]
xor eax, eax
mov ax, word [edx + 0xf60]
mov ecx, dword [ebp - 0x154]
xor edx, edx
mov dx, word [ecx + 0x878]
cmp eax, edx
je 0x45d0ea
cmp dword [0x63a2a0], 0
jne 0x45d0ea
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x154], ecx
jmp 0x45bcec
mov edx, dword [ebp - 0x154]
cmp dword [edx + 0x20], 0
jb 0x45d111
mov eax, dword [ebp - 0x154]
cmp dword [eax + 0x20], 0x3e8
jae 0x45d111
mov dword [ebp - 0x628], 1
jmp 0x45d11b
mov dword [ebp - 0x628], 0
cmp dword [ebp - 0x628], 0
jne 0x45d16a
mov ecx, dword [ebp - 0x154]
xor edx, edx
mov dl, byte [ecx + 0x214]
test edx, edx
jne 0x45d16a
mov eax, dword [ebp - 0x154]
movsx ecx, byte [eax + 0x215]
test ecx, ecx
jne 0x45d16a
mov ecx, dword [ebp - 0x154]
call fcn.004fa230
test eax, eax
je 0x45d16a
mov edx, dword [ebp - 0x154]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x154], eax
jmp 0x45bcec
mov ecx, dword [ebp - 0x154]
movsx edx, byte [ecx + 0x211]
cmp edx, 1
jne 0x45d190
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x154], ecx
jmp 0x45bcec
mov edx, dword [ebp - 0x154]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x154]
call dword [eax + 0x54]
cmp eax, 1
jne 0x45d1e9
mov ecx, dword [ebp - 0x5d0]
mov ecx, dword [ecx + 0x4c]
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jne 0x45d1e9
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 0
jne 0x45d1e9
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x154], edx
jmp 0x45bcec
mov eax, dword [ebp - 0x188]
cmp eax, dword [ebp - 0x184]
jg 0x45d490
mov ecx, dword [ebp - 0x16c]
cmp ecx, dword [ebp - 0x168]
jne 0x45d490
mov edx, dword [ebp - 0x174]
cmp edx, dword [ebp - 0x170]
jne 0x45d490
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [eax + 0x4c]
je 0x45d490
mov edx, dword [ebp - 0x154]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x154]
call dword [eax + 0x50]
test eax, eax
je 0x45d262
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 0
jne 0x45d490
mov edx, dword [ebp - 0x154]
cmp dword [edx + 0x20], 0
jb 0x45d289
mov eax, dword [ebp - 0x154]
cmp dword [eax + 0x20], 0x3e8
jae 0x45d289
mov dword [ebp - 0x62c], 1
jmp 0x45d293
mov dword [ebp - 0x62c], 0
cmp dword [ebp - 0x62c], 0
jne 0x45d2bf
mov ecx, dword [ebp - 0x154]
xor edx, edx
mov dl, byte [ecx + 0x214]
test edx, edx
jne 0x45d2bf
mov eax, dword [ebp - 0x154]
movsx ecx, byte [eax + 0x215]
test ecx, ecx
je 0x45d327
mov edx, dword [ebp - 0x154]
cmp dword [edx + 0x20], 0
jb 0x45d2e6
mov eax, dword [ebp - 0x154]
cmp dword [eax + 0x20], 0x3e8
jae 0x45d2e6
mov dword [ebp - 0x630], 1
jmp 0x45d2f0
mov dword [ebp - 0x630], 0
cmp dword [ebp - 0x630], 1
jne 0x45d30e
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 0
je 0x45d327
mov edx, dword [ebp - 0x154]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x154]
call dword [eax + 0x54]
test eax, eax
je 0x45d490
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da848], 0xffffffff
jne 0x45d38a
cmp dword [ebp - 0x150], 0
jne 0x45d38a
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov cx, word [eax + 0x20]
mov word [ebp + edx*8 - 0xb0], cx
mov edx, dword [ebp - 0x150]
mov dword [ebp + edx*8 - 0xac], 0xfffffffe
mov ax, word [0x63a2b0]
mov word [ebp - 0xc0], ax
mov ecx, dword [ebp - 0x150]
add ecx, 1
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov cx, word [eax + 0x20]
mov word [ebp + edx*8 - 0xb0], cx
mov edx, dword [ebp - 0x150]
mov dword [ebp + edx*8 - 0xac], 0xffffffff
cmp dword [ebp - 0x20], 0
je 0x45d481
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x154]
jne 0x45d481
cmp dword [ebp - 0x150], 0
je 0x45d481
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da83c], 3
je 0x45d417
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da83c], 4
je 0x45d417
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da83c], 6
jne 0x45d481
mov cx, word [ebp - 0xb0]
mov word [ebp - 0x1f0], cx
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x1f4], edx
mov eax, dword [ebp - 0x150]
mov cx, word [ebp + eax*8 - 0xb0]
mov word [ebp - 0xb0], cx
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp + edx*8 - 0xac]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x150]
mov dx, word [ebp - 0x1f0]
mov word [ebp + ecx*8 - 0xb0], dx
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp + eax*8 - 0xac], ecx
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x154]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da83c], 3
jne 0x45d4bf
cmp dword [ebp - 0x150], 7
jle 0x45d4bf
jmp 0x45d4ea
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
mov ecx, dword [eax + 0x11da884]
cmp ecx, dword [ebp - 0x150]
jg 0x45d4da
jmp 0x45d4ea
cmp dword [ebp - 0x150], 0xd
jl 0x45d4e5
jmp 0x45d4ea
jmp 0x45bcec
mov dx, word [ebp - 0x160]
mov word [ebp - 0xc6], dx
mov ax, word [ebp - 0x164]
mov word [ebp - 0xc4], ax
jmp 0x45dd1f
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x1d
je 0x45d52b
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x2c
jne 0x45d929
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
xor edx, edx
mov dl, byte [ecx + 0x214]
cmp edx, 1
jne 0x45d906
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0
push 0x60
push 0
lea eax, [ebp - 0x254]
push eax
call fcn.005c5b80
add esp, 0xc
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x8b608]
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x260], 0
jmp 0x45d599
mov eax, dword [ebp - 0x260]
add eax, 1
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x260]
cmp edx, dword [ecx + 0x210]
jge 0x45d729
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x274]
mov edx, dword [ecx + eax*4 + 0x214]
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x27c]
mov ecx, dword [eax + 0xe54]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x34]
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0
je 0x45d724
mov ecx, dword [ebp - 0x5d0]
mov ecx, dword [ecx + 0x4c]
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jne 0x45d631
mov eax, dword [ebp - 0x278]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x278]
call dword [edx + 0x54]
cmp eax, 1
jne 0x45d631
jmp 0x45d58a
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x280], eax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x8b688], 0
je 0x45d692
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x8b688]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x8b68c]
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x278]
fld dword [eax + 0x2c]
call fcn.005c5ef0
push eax
mov ecx, dword [ebp - 0x278]
fld dword [ecx + 0x28]
call fcn.005c5ef0
push eax
mov edx, dword [ebp - 0x284]
push edx
mov eax, dword [ebp - 0x280]
push eax
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
mov edx, dword [ecx + 0x11da848]
add edx, dword [ebp - 0x18]
cmp dword [ebp - 0x288], edx
jge 0x45d724
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ecx + 0xe54]
mov dword [ebp + eax*8 - 0x254], edx
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x288]
mov dword [ebp + eax*8 - 0x250], ecx
mov edx, dword [ebp - 0x268]
add edx, 1
mov dword [ebp - 0x268], edx
jmp 0x45d58a
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0xc
jl 0x45d748
mov dword [ebp - 0x264], 0xc
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x268], 0
jmp 0x45d76d
mov ecx, dword [ebp - 0x268]
add ecx, 1
mov dword [ebp - 0x268], ecx
mov edx, dword [ebp - 0x268]
cmp edx, dword [ebp - 0x264]
jge 0x45d869
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp + ecx*8 - 0x254]
mov eax, dword [ebp + ecx*8 - 0x250]
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x268]
add ecx, 1
mov dword [ebp - 0x28c], ecx
jmp 0x45d7cb
mov edx, dword [ebp - 0x28c]
add edx, 1
mov dword [ebp - 0x28c], edx
mov eax, dword [ebp - 0x28c]
cmp eax, dword [ebp - 0x264]
jge 0x45d81c
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x26c]
cmp edx, dword [ebp + ecx*8 - 0x250]
jle 0x45d81a
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp + eax*8 - 0x254]
mov edx, dword [ebp + eax*8 - 0x250]
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x25c], eax
jmp 0x45d7bc
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp + ecx*8 - 0x254]
mov eax, dword [ebp + ecx*8 - 0x250]
mov ecx, dword [ebp - 0x25c]
mov dword [ebp + ecx*8 - 0x254], edx
mov dword [ebp + ecx*8 - 0x250], eax
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0x270]
mov dword [ebp + edx*8 - 0x254], eax
mov ecx, dword [ebp - 0x26c]
mov dword [ebp + edx*8 - 0x250], ecx
jmp 0x45d75e
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x268], 0
jmp 0x45d88e
mov edx, dword [ebp - 0x268]
add edx, 1
mov dword [ebp - 0x268], edx
mov eax, dword [ebp - 0x268]
cmp eax, dword [ebp - 0x264]
jge 0x45d904
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
mov edx, dword [ecx + 0x11da884]
cmp edx, dword [ebp - 0x258]
jg 0x45d8b8
jmp 0x45d904
cmp dword [ebp - 0x258], 0xd
jl 0x45d8c3
jmp 0x45d904
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x268]
mov dx, word [ebp + ecx*8 - 0x254]
mov word [ebp + eax*8 - 0xb0], dx
mov eax, dword [ebp - 0x258]
mov dword [ebp + eax*8 - 0xac], 0xffffffff
mov ecx, dword [ebp - 0x258]
add ecx, 1
mov dword [ebp - 0x258], ecx
jmp 0x45d87f
jmp 0x45d924
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov cx, word [eax + 0x20]
mov word [ebp - 0xb0], cx
mov dword [ebp - 0xac], 0xffffffff
jmp 0x45dd1f
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x2a
jne 0x45d9b3
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
xor edx, edx
mov dl, byte [ecx + 0x214]
cmp edx, 1
jne 0x45d96a
push 0x3e8
push 0x109b438
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0xc4]
call fcn.00404109
jmp 0x45d985
push 0x3e8
push 0x109b4b8
mov ecx, dword [ebp - 0x5d0]
mov ecx, dword [ecx + 0xc4]
call fcn.00404109
push 1
push 1
mov edx, dword [ebp - 0x5d0]
mov ecx, dword [edx + 0xc4]
mov eax, dword [ebp - 0x5d0]
mov edx, dword [eax + 0xc4]
mov eax, dword [edx]
call dword [eax + 0x88]
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x49
jne 0x45dbde
mov edx, dword [0x277c024]
mov eax, dword [edx + 0x7c8]
cmp eax, dword [0x11dc3a0]
jge 0x45d9e3
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp + 0x1c]
sub eax, dword [edx + 0x7dc]
cmp eax, 0x3e8
jbe 0x45dbd4
fld dword [ebp + 0x10]
call fcn.005c5ef0
mov dword [ebp - 0x2f4], eax
fld dword [ebp + 0x18]
call fcn.005c5ef0
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x300], eax
mov byte [ebp - 0x2bc], 0
mov ecx, 0xb
xor eax, eax
lea edi, [ebp - 0x2bb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 8
mov edx, dword [ebp - 0x5d0]
add edx, 0xd4
push edx
push 8
lea eax, [ebp - 0x2bc]
push eax
lea ecx, [ebp - 0x2f8]
push ecx
lea edx, [ebp - 0x2f4]
push edx
mov eax, dword [ebp - 0x300]
push eax
mov ecx, dword [ebp - 0x2fc]
push ecx
call fcn.0054084c
add esp, 0x20
lea edx, [ebp - 0x2bc]
push edx
call fcn.005c5a20
add esp, 4
test eax, eax
ja 0x45dabc
mov eax, 1
jmp 0x45fcfe
push 0x34
push 0
lea eax, [ebp - 0x2f0]
push eax
call fcn.005c5b80
add esp, 0xc
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov ax, word [edx + 0x20]
mov word [ebp - 0x2ea], ax
mov cx, word [ebp - 0x2fc]
mov word [ebp - 0x2e4], cx
mov dx, word [ebp - 0x300]
mov word [ebp - 0x2e2], dx
mov dword [ebp - 0x2e0], 6
mov word [ebp - 0x2ec], 0x368
mov eax, dword [0x6185b4]
mov dword [ebp - 0x2dc], eax
mov cx, word [ebp - 0x2f4]
mov word [ebp - 0x2c0], cx
mov dx, word [ebp - 0x2f8]
mov word [ebp - 0x2be], dx
movsx eax, word [ebp - 0x2e4]
mov ecx, dword [ebp - 0x5d0]
mov dword [ecx + 0x8b698], eax
movsx edx, word [ebp - 0x2e2]
mov eax, dword [ebp - 0x5d0]
mov dword [eax + 0x8b69c], edx
mov ecx, dword [ebp - 0x2c0]
and ecx, 0xffff
mov edx, dword [ebp - 0x5d0]
mov dword [edx + 0x8b688], ecx
mov eax, dword [ebp - 0x2be]
and eax, 0xffff
mov ecx, dword [ebp - 0x5d0]
mov dword [ecx + 0x8b68c], eax
push 0x34
lea edx, [ebp - 0x2f0]
push edx
call fcn.0054da23
add esp, 8
mov ecx, dword [ebp - 0x5d0]
call fcn.0044f967
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ebp + 0x1c]
mov dword [ecx + eax*4 + 0x8bea0], edx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp + 0x1c]
mov dword [ecx + 0x7dc], edx
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x20]
mov word [ebp - 0xb0], dx
mov dword [ebp - 0xac], 0xffffffff
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov word [ebp - 0xc6], ax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov word [ebp - 0xc4], ax
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x8b688], 0
je 0x45dc63
mov edx, dword [ebp - 0x5d0]
mov ax, word [edx + 0x8b688]
mov word [ebp - 0xc6], ax
mov ecx, dword [ebp - 0x5d0]
mov dx, word [ecx + 0x8b68c]
mov word [ebp - 0xc4], dx
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x38
je 0x45dcf4
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x39
je 0x45dcf4
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x3a
je 0x45dcf4
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x3b
je 0x45dcf4
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x3c
je 0x45dcf4
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x3d
je 0x45dcf4
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x3e
je 0x45dcf4
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x3f
je 0x45dcf4
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0xc8
je 0x45dcf4
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0xd8
jne 0x45dd1f
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
mov edx, dword [ebp - 0x5d0]
mov eax, dword [ebp + 0x1c]
mov dword [edx + ecx*4 + 0x8bea0], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp + 0x1c]
mov dword [edx + 0x7dc], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x62
jne 0x45dfff
fld dword [ebp + 0x10]
call fcn.005c5ef0
mov dword [ebp - 0x30c], eax
fld dword [ebp + 0x18]
call fcn.005c5ef0
mov dword [ebp - 0x310], eax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x5d0]
cmp dword [eax + 0x8b688], 0
je 0x45ddae
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x8b688]
mov dword [ebp - 0x318], edx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x8b68c]
mov dword [ebp - 0x324], ecx
mov edx, dword [ebp - 0x310]
push edx
mov eax, dword [ebp - 0x30c]
push eax
mov ecx, dword [ebp - 0x324]
push ecx
mov edx, dword [ebp - 0x318]
push edx
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
mov ecx, dword [eax + 0x11da848]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 0x31c], ecx
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x308], eax
push 8
mov ecx, dword [ebp - 0x5d0]
add ecx, 0xd4
push ecx
lea edx, [ebp - 0x308]
push edx
lea eax, [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x324]
push ecx
mov edx, dword [ebp - 0x318]
push edx
call fcn.0054139a
add esp, 0x18
cmp dword [ebp - 0x31c], 0xffffffff
jne 0x45de50
mov dword [ebp - 0x31c], 1
push 0x15
mov eax, dword [ebp - 0x28]
add eax, 0xbc
push eax
call fcn.00537962
add esp, 8
cmp eax, 0x64
jge 0x45de99
push 0x1b
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00539c2c
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x328], eax
mov edx, dword [ebp - 0x328]
cmp edx, dword [ebp - 0x31c]
jle 0x45de99
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x308]
push ecx
mov edx, dword [ebp - 0x304]
push edx
mov eax, dword [ebp - 0x324]
push eax
mov ecx, dword [ebp - 0x318]
push ecx
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x314], eax
mov edx, dword [ebp - 0x320]
cmp edx, dword [ebp - 0x31c]
jg 0x45dff5
mov eax, dword [ebp - 0x304]
cmp eax, dword [ebp - 0x30c]
jne 0x45dff5
mov ecx, dword [ebp - 0x308]
cmp ecx, dword [ebp - 0x310]
jne 0x45dff5
fld dword [ebp + 0x18]
call fcn.005c5ef0
push eax
fld dword [ebp + 0x10]
call fcn.005c5ef0
push eax
mov edx, dword [ebp - 0x324]
push edx
mov eax, dword [ebp - 0x318]
push eax
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
mov edx, dword [ecx + 0x11da848]
add edx, dword [ebp - 0x18]
cmp dword [ebp - 0x330], edx
jle 0x45df4e
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x20]
mov word [ebp - 0xb0], dx
mov dword [ebp - 0xac], 0xffffffff
fld dword [ebp + 0x10]
call fcn.005c5ef0
mov word [ebp - 0xc6], ax
fld dword [ebp + 0x18]
call fcn.005c5ef0
mov word [ebp - 0xc4], ax
mov eax, dword [ebp - 0xc4]
and eax, 0xffff
cdq
and edx, 3
add eax, edx
mov ecx, eax
sar ecx, 2
shl ecx, 0xa
mov eax, dword [ebp - 0xc6]
and eax, 0xffff
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dl, byte [ecx + eax + 0x10d8cb8]
mov byte [ebp - 0x32c], dl
mov eax, dword [ebp - 0x32c]
and eax, 0xff
and eax, 1
test eax, eax
je 0x45dff3
mov ecx, dword [ebp - 0x32c]
and ecx, 0xff
and ecx, 0x40
test ecx, ecx
jne 0x45dff3
mov eax, 1
jmp 0x45fcfe
jmp 0x45dfff
mov eax, 1
jmp 0x45fcfe
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x66
jne 0x45e0a2
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx eax, word [ecx + 0x21c]
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x334], edx
push 0x1f
call fcn.0043b665
add esp, 4
test eax, eax
jne 0x45e0a2
push 0x27
call fcn.0043b665
add esp, 4
test eax, eax
jne 0x45e0a2
push 0x2f
call fcn.0043b665
add esp, 4
test eax, eax
jne 0x45e0a2
push 0x7d0
push 0x10a5738
mov edx, dword [ebp - 0x5d0]
mov ecx, dword [edx + 0xc4]
call fcn.00404109
push 1
push 1
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0xc4]
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0xc4]
mov edx, dword [eax]
call dword [edx + 0x88]
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0xb0]
and eax, 0xffff
test eax, eax
jg 0x45e0de
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x61
je 0x45e0de
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x23
je 0x45e0de
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x33
jne 0x45e266
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
mov edx, dword [ecx + 0x11da884]
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x3e8], eax
jmp 0x45e113
mov ecx, dword [ebp - 0x3e8]
add ecx, 1
mov dword [ebp - 0x3e8], ecx
cmp dword [ebp - 0x3e8], 0xd
jge 0x45e13f
mov edx, dword [ebp - 0x3e8]
mov word [ebp + edx*8 - 0xb0], 0
mov eax, dword [ebp - 0x3e8]
mov dword [ebp + eax*8 - 0xac], 0
jmp 0x45e104
mov dword [ebp - 0x338], 0xa8
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da884], 1
jne 0x45e171
mov word [ebp - 0xe8], 0x39d
mov dword [ebp - 0x338], 0x48
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da884], 2
jne 0x45e199
mov word [ebp - 0xe8], 0x39e
mov dword [ebp - 0x338], 0x50
push 0xa8
push 0
lea eax, [ebp - 0x3e4]
push eax
call fcn.005c5b80
add esp, 0xc
mov ecx, dword [ebp - 0x338]
push ecx
lea edx, [ebp - 0xec]
push edx
lea eax, [ebp - 0x3e4]
push eax
call fcn.005c5f60
add esp, 0xc
mov ecx, dword [ebp - 0x5d0]
mov dx, word [ecx + 0x20]
mov word [ebp - 0x3de], dx
mov byte [ebp - 0x3b5], 1
cmp dword [ebp - 0x18], 0
je 0x45e1f8
mov al, byte [ebp - 0x3b4]
or al, 8
mov byte [ebp - 0x3b4], al
lea ecx, [ebp - 0x3e4]
push ecx
mov edx, dword [ebp - 0xe8]
and edx, 0xffff
push edx
mov eax, dword [ebp - 0x5d0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5d0]
call dword [edx + 4]
mov eax, dword [ebp - 0x338]
push eax
lea ecx, [ebp - 0xec]
push ecx
call fcn.0054da23
add esp, 8
mov ecx, dword [ebp - 0x5d0]
call fcn.0044f967
mov edx, dword [ebp - 0x5d0]
mov eax, dword [ebp + 0x1c]
mov dword [edx + 0x2754c], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
mov edx, dword [ebp - 0x5d0]
mov eax, dword [ebp + 0x1c]
mov dword [edx + ecx*4 + 0x8bea0], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x55
je 0x45e27e
mov eax, 1
jmp 0x45fcfe
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da83c], 2
jne 0x45e2b2
cmp dword [ebp - 0x20], 0
jne 0x45e2b2
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x204], 1
cmp dword [ebp - 0x20], 0
je 0x45fcdf
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x204], 1
je 0x45e2d2
cmp dword [ebp + 0x24], 0
je 0x45fcdf
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
cmp dword [edx + 0x9d8], 2
je 0x45fcdf
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
cmp dword [ecx + 0x9d8], 3
je 0x45fcdf
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa3d]
cmp ecx, 1
jne 0x45e31d
mov eax, 1
jmp 0x45fcfe
mov edx, dword [ebp - 0x5d0]
xor eax, eax
mov ax, word [edx + 0x276da]
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
cmp eax, dword [edx + 0x20]
jne 0x45e344
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, word [ecx + 0x614]
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov ecx, dword [0x277c024]
xor edx, edx
mov dl, byte [ecx + 0x764]
imul edx, edx, 0x18
sub eax, edx
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0x60
jge 0x45e3ad
mov eax, dword [ebp - 0x3ec]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [0x277c024]
xor edx, edx
mov dx, word [ecx + eax*2 + 0x7d6]
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3f0]
push eax
mov ecx, dword [0x277c024]
xor edx, edx
mov dl, byte [ecx + 0xa6b]
push edx
mov eax, dword [ebp - 0x14]
and eax, 0xff
push eax
call fcn.005404e7
add esp, 0xc
mov ecx, dword [0x277c024]
cmp eax, dword [ecx + 0x7c8]
jle 0x45e4db
mov dword [ebp - 0x3f4], 0
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x27c40]
mov dword [ebp - 0x3f4], eax
push 0xe54
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x5cc], 0
je 0x45e45b
push 0
push 1
push 0x77777777
push 0
push 0x41800000
push 0x43960000
push 0
push 0
push 0xffffaaaa
push 0x109b3b8
mov ecx, dword [ebp - 0x5cc]
call fcn.0040739b
mov dword [ebp - 0x634], eax
jmp 0x45e465
mov dword [ebp - 0x634], 0
mov ecx, dword [ebp - 0x634]
mov dword [ebp - 0x5c8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5c8]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
je 0x45e49f
mov eax, dword [ebp - 0x3f8]
push eax
mov ecx, dword [ebp - 0x3f4]
call fcn.00408e53
cmp dword [0x636738], 0
je 0x45e4d1
push 0x21
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x45e4d1
push 0
push 0
push 0x21
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x54]
cmp eax, 1
jne 0x45e510
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jne 0x45e510
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x50]
cmp eax, 1
je 0x45e53c
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x50]
cmp eax, 1
jne 0x45e55a
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45e55a
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x20], 0
jb 0x45e57b
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x20], 0x3e8
jae 0x45e57b
mov dword [ebp - 0x638], 1
jmp 0x45e585
mov dword [ebp - 0x638], 0
cmp dword [ebp - 0x638], 1
je 0x45e59e
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cl, byte [eax + 0x214]
cmp ecx, 1
jne 0x45e5cc
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da880], 1
jne 0x45e5cc
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x54]
test eax, eax
jne 0x45e5cc
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x20], 0
jb 0x45e5ed
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x20], 0x3e8
jae 0x45e5ed
mov dword [ebp - 0x63c], 1
jmp 0x45e5f7
mov dword [ebp - 0x63c], 0
cmp dword [ebp - 0x63c], 1
je 0x45e610
mov edx, dword [ebp - 0x20]
xor eax, eax
mov al, byte [edx + 0x214]
cmp eax, 1
jne 0x45e64a
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45e64a
mov edx, dword [ebp - 0x5d0]
mov ecx, dword [edx + 0x4c]
mov eax, dword [ebp - 0x5d0]
mov edx, dword [eax + 0x4c]
mov eax, dword [edx]
call dword [eax + 0x54]
test eax, eax
jne 0x45e64a
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x54]
cmp eax, 1
jne 0x45e693
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jne 0x45e693
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 0
jne 0x45e693
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x54]
test eax, eax
jne 0x45e6df
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45e6df
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0x215]
cmp edx, 1
je 0x45e6d5
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cl, byte [eax + 0x214]
cmp ecx, 1
jne 0x45e6df
mov eax, 1
jmp 0x45fcfe
cmp dword [0x63a2b4], 0
jne 0x45e78c
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0x215]
cmp eax, 1
jne 0x45e78c
mov ecx, dword [0x277c024]
xor edx, edx
mov dx, word [ecx + 0xf60]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cx, word [eax + 0x878]
cmp edx, ecx
je 0x45e78c
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ax, word [edx + 0x878]
test eax, eax
je 0x45e78c
cmp dword [0x63a2a0], 0
jne 0x45e741
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
test eax, eax
jle 0x45e78c
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0xa5a]
cmp eax, edx
jne 0x45e78c
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x58]
test eax, eax
jne 0x45e78c
mov eax, 1
jmp 0x45fcfe
cmp dword [0x63a2b4], 0
jne 0x45e87b
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cx, word [eax + 0x878]
test ecx, ecx
je 0x45e87b
mov edx, dword [0x277c024]
xor eax, eax
mov ax, word [edx + 0xf60]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ecx + 0x878]
cmp eax, edx
je 0x45e87b
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45e87b
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x20], 0
jb 0x45e809
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x20], 0x3e8
jae 0x45e809
mov dword [ebp - 0x640], 1
jmp 0x45e813
mov dword [ebp - 0x640], 0
cmp dword [ebp - 0x640], 0
je 0x45e87b
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x54]
cmp eax, 1
jne 0x45e87b
cmp dword [0x63a2a0], 0
jne 0x45e83f
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa5a]
test edx, edx
jle 0x45e87b
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa5a]
mov eax, dword [ebp - 0x20]
movsx ecx, byte [eax + 0xa5a]
cmp edx, ecx
jne 0x45e87b
mov eax, 1
jmp 0x45fcfe
cmp dword [0x63a2b4], 0
jne 0x45e91a
cmp dword [0x63a2a0], 0
jle 0x45e91a
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
cmp ecx, 3
jne 0x45e91a
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x20], 0
jb 0x45e8cb
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x20], 0x3e8
jae 0x45e8cb
mov dword [ebp - 0x644], 1
jmp 0x45e8d5
mov dword [ebp - 0x644], 0
cmp dword [ebp - 0x644], 0
jne 0x45e8fb
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0xa5a]
test edx, edx
jle 0x45e91a
mov eax, dword [ebp - 0x20]
movsx ecx, byte [eax + 0xa5a]
cmp ecx, 4
je 0x45e91a
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da880], 1
jne 0x45e91a
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 0
jne 0x45e989
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x20], 0
jb 0x45e94f
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x20], 0x3e8
jae 0x45e94f
mov dword [ebp - 0x648], 1
jmp 0x45e959
mov dword [ebp - 0x648], 0
cmp dword [ebp - 0x648], 0
jne 0x45e989
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cl, byte [eax + 0x214]
test ecx, ecx
jne 0x45e989
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0x215]
test eax, eax
jne 0x45e989
mov eax, 1
jmp 0x45fcfe
cmp dword [ebp - 0x20], 0
je 0x45e9fd
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ecx + 0x878]
test edx, edx
je 0x45e9fd
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45e9fd
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
xor eax, eax
mov ax, word [edx + 0x878]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ecx + 0x878]
cmp eax, edx
je 0x45e9f3
mov eax, dword [0x277c024]
xor ecx, ecx
mov cx, word [eax + 0xf62]
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ax, word [edx + 0x878]
cmp ecx, eax
jne 0x45e9fd
mov eax, 1
jmp 0x45fcfe
cmp dword [ebp - 0x20], 0
je 0x45ea7a
cmp dword [0x63a2b4], 0
jne 0x45ea7a
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0x215]
cmp edx, 1
jne 0x45ea7a
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cx, word [eax + 0x878]
test ecx, ecx
jne 0x45ea7a
cmp dword [0x63a2a0], 0
jne 0x45ea3e
mov eax, 1
jmp 0x45fcfe
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jle 0x45ea7a
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0xa5a]
cmp ecx, eax
jne 0x45ea7a
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x20], 0
jb 0x45ea9b
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x20], 0x3e8
jae 0x45ea9b
mov dword [ebp - 0x64c], 1
jmp 0x45eaa5
mov dword [ebp - 0x64c], 0
cmp dword [ebp - 0x64c], 0
jne 0x45eadc
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cl, byte [eax + 0x214]
test ecx, ecx
jne 0x45eadc
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0x215]
test eax, eax
jne 0x45eadc
mov ecx, dword [ebp - 0x20]
call fcn.004fa230
test eax, eax
je 0x45eadc
jmp 0x45fcdd
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0x9bc]
test edx, edx
je 0x45eaef
jmp 0x45fcdd
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x2754c]
add ecx, 0x3e8
cmp dword [ebp + 0x1c], ecx
jbe 0x45fcdd
mov edx, dword [ebp - 0x20]
xor eax, eax
mov al, byte [edx + 0x620]
and eax, 0xf
cmp eax, 0xf
jne 0x45eb9a
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45eb9a
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jne 0x45eb50
mov eax, 1
jmp 0x45fcfe
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0xa5a]
test eax, eax
jle 0x45eb9a
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
test eax, eax
jle 0x45eb9a
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0xa5a]
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx eax, byte [ecx + 0xa5a]
cmp edx, eax
jne 0x45eb9a
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x20]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x404], eax
mov edx, dword [ebp - 0x20]
fld dword [edx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x408], eax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x40c], eax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x8b688], 0
je 0x45ec1d
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x8b688]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x8b68c]
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x408]
push eax
mov ecx, dword [ebp - 0x404]
push ecx
mov edx, dword [ebp - 0x418]
push edx
mov eax, dword [ebp - 0x40c]
push eax
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
mov edx, dword [ecx + 0x11da848]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x404]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x408]
mov dword [ebp - 0x400], ecx
push 8
mov edx, dword [ebp - 0x5d0]
add edx, 0xd4
push edx
lea eax, [ebp - 0x400]
push eax
lea ecx, [ebp - 0x3fc]
push ecx
mov edx, dword [ebp - 0x418]
push edx
mov eax, dword [ebp - 0x40c]
push eax
call fcn.0054139a
add esp, 0x18
cmp dword [ebp - 0x410], 0xffffffff
jne 0x45ecc0
mov dword [ebp - 0x410], 1
cmp dword [ebp - 0x20], 0
je 0x45ed26
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x218], 0x38
jne 0x45ed26
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ax, word [edx + 0x166]
test eax, eax
jne 0x45ed26
mov ecx, dword [ebp - 0x414]
sub ecx, 0xc
mov dword [ebp - 0x414], ecx
cmp dword [ebp - 0x414], 0
jge 0x45ed04
mov dword [ebp - 0x414], 0
mov edx, dword [ebp - 0x20]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x20]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x400], eax
push 0x15
mov ecx, dword [ebp - 0x28]
add ecx, 0xbc
push ecx
call fcn.00537962
add esp, 8
cmp eax, 0x64
jge 0x45ed70
push 0x1b
mov edx, dword [ebp - 0x28]
push edx
call fcn.00539c2c
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
cmp eax, dword [ebp - 0x410]
jle 0x45ed70
mov ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x414]
cmp edx, dword [ebp - 0x410]
jg 0x45f924
mov eax, dword [ebp - 0x3fc]
cmp eax, dword [ebp - 0x404]
jne 0x45f924
mov ecx, dword [ebp - 0x400]
cmp ecx, dword [ebp - 0x408]
jne 0x45f924
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da848], 0xffffffff
jne 0x45edf1
push 0x1b
mov eax, dword [0x277c024]
add eax, 0x750
push eax
call fcn.00539c2c
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x580], eax
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x580]
jle 0x45edf1
mov eax, 1
jmp 0x45fcfe
cmp dword [0x63a2b4], 0
jne 0x45ee97
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jne 0x45ee97
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x20], 0
jb 0x45ee37
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x20], 0x3e8
jae 0x45ee37
mov dword [ebp - 0x650], 1
jmp 0x45ee41
mov dword [ebp - 0x650], 0
cmp dword [ebp - 0x650], 1
jne 0x45ee97
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x54]
cmp eax, 1
jne 0x45ee97
mov eax, dword [0x277c024]
xor ecx, ecx
mov cx, word [eax + 0xf60]
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ax, word [edx + 0x878]
cmp ecx, eax
je 0x45ee97
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45ee97
mov eax, 1
jmp 0x45fcfe
cmp dword [0x63a2b4], 0
jne 0x45ef07
cmp dword [0x63a2a0], 0
jle 0x45ef07
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
test ecx, ecx
jle 0x45ef07
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0xa5a]
test eax, eax
jle 0x45ef07
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
mov ecx, dword [ebp - 0x20]
movsx edx, byte [ecx + 0xa5a]
cmp eax, edx
jne 0x45ef07
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da880], 1
jne 0x45ef07
mov eax, 1
jmp 0x45fcfe
cmp dword [0x63a2b4], 0
jne 0x45efbb
mov ecx, dword [0x277c024]
xor edx, edx
mov dx, word [ecx + 0xf60]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cx, word [eax + 0x878]
cmp edx, ecx
je 0x45efbb
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x20], 0
jb 0x45ef58
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x20], 0x3e8
jae 0x45ef58
mov dword [ebp - 0x654], 1
jmp 0x45ef62
mov dword [ebp - 0x654], 0
cmp dword [ebp - 0x654], 1
jne 0x45efbb
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45efbb
cmp dword [0x63a2a0], 0
jne 0x45ef93
mov eax, 1
jmp 0x45fcfe
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0xa5a]
cmp ecx, eax
jne 0x45efbb
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 8
je 0x45efed
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 9
jne 0x45f02b
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0xf
je 0x45f01f
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x10
jne 0x45f02b
mov dword [ebp - 0x658], 1
jmp 0x45f035
mov dword [ebp - 0x658], 0
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0x428], eax
cmp dword [0x63a2b4], 0
jne 0x45f0d1
cmp dword [0x63a2a0], 0
jle 0x45f0d1
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x20]
call dword [edx + 0x58]
test eax, eax
jne 0x45f0d1
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x20], 0
jb 0x45f087
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x20], 0x3e8
jae 0x45f087
mov dword [ebp - 0x65c], 1
jmp 0x45f091
mov dword [ebp - 0x65c], 0
cmp dword [ebp - 0x65c], 1
je 0x45f0a9
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx + 0x215]
cmp eax, 1
jne 0x45f0d1
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da880], 1
jne 0x45f0d1
cmp dword [ebp - 0x428], 0
jne 0x45f0d1
mov eax, 1
jmp 0x45fcfe
push 0xa8
push 0
lea edx, [ebp - 0x57c]
push edx
call fcn.005c5b80
add esp, 0xc
mov word [ebp - 0x578], 0x367
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x20]
mov word [ebp - 0x576], dx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x20]
mov word [ebp - 0x552], dx
mov eax, dword [ebp - 0x5d0]
mov cx, word [eax + 0x8b688]
mov word [ebp - 0x55a], cx
mov edx, dword [ebp - 0x5d0]
mov ax, word [edx + 0x8b68c]
mov word [ebp - 0x558], ax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov word [ebp - 0x556], ax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov word [ebp - 0x554], ax
mov dword [ebp - 0x548], 0xffffffff
movzx dx, byte [ebp - 0x14]
mov word [ebp - 0x544], dx
mov byte [ebp - 0x54b], 0
mov byte [ebp - 0x54e], 0xff
mov byte [ebp - 0x54d], 0
mov eax, dword [ebp - 0x20]
mov cx, word [eax + 0x20]
mov word [ebp - 0x540], cx
mov edx, dword [ebp - 0x540]
and edx, 0xffff
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x34]
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0
jne 0x45f1df
mov eax, 1
jmp 0x45fcfe
mov dword [ebp - 0x424], 0
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da848], 0xffffffff
jne 0x45f257
mov ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x42c]
mov ax, word [edx + 0x20]
mov word [ebp + ecx*8 - 0x540], ax
mov ecx, dword [0x277c024]
xor edx, edx
mov dl, byte [ecx + 0xa6a]
mov dword [ebp - 0x584], edx
mov eax, dword [ebp - 0x424]
mov dword [ebp + eax*8 - 0x53c], 0xfffffffe
mov cx, word [0x63a2b0]
mov word [ebp - 0x550], cx
mov edx, dword [ebp - 0x424]
add edx, 1
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x424]
mov ecx, dword [ebp - 0x42c]
mov dx, word [ecx + 0x20]
mov word [ebp + eax*8 - 0x540], dx
mov eax, dword [ebp - 0x424]
mov dword [ebp + eax*8 - 0x53c], 0xffffffff
mov ecx, dword [ebp - 0x424]
add ecx, 1
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x14]
and edx, 0xff
cmp edx, 0x10
je 0x45f2bc
mov eax, dword [ebp - 0x14]
and eax, 0xff
cmp eax, 0xc
je 0x45f2bc
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
cmp ecx, 0x1c
jne 0x45f778
mov edx, dword [ebp - 0x42c]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov esi, eax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
sub esi, eax
mov dword [ebp - 0x588], esi
mov edx, dword [ebp - 0x42c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
mov esi, eax
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
sub esi, eax
mov dword [ebp - 0x58c], esi
cmp dword [ebp - 0x588], 0
jle 0x45f323
mov dword [ebp - 0x588], 1
jmp 0x45f336
cmp dword [ebp - 0x588], 0
jge 0x45f336
mov dword [ebp - 0x588], 0xffffffff
cmp dword [ebp - 0x58c], 0
jle 0x45f34b
mov dword [ebp - 0x58c], 1
jmp 0x45f35e
cmp dword [ebp - 0x58c], 0
jge 0x45f35e
mov dword [ebp - 0x58c], 0xffffffff
mov edx, dword [ebp - 0x42c]
fld dword [edx + 0x28]
call fcn.005c5ef0
add eax, dword [ebp - 0x588]
mov dword [ebp - 0x594], eax
mov eax, dword [ebp - 0x42c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
add eax, dword [ebp - 0x58c]
mov dword [ebp - 0x598], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x590], eax
mov ecx, dword [ebp - 0x590]
cmp dword [ecx + 0xc], 0
je 0x45f778
mov edx, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x590]
cmp eax, dword [edx + 0x4c]
je 0x45f764
mov ecx, dword [ebp - 0x590]
cmp ecx, dword [ebp - 0x42c]
je 0x45f764
mov edx, dword [ebp - 0x590]
fld dword [edx + 0x28]
call fcn.005c5ef0
cmp eax, dword [ebp - 0x594]
jne 0x45f764
mov eax, dword [ebp - 0x590]
fld dword [eax + 0x2c]
call fcn.005c5ef0
cmp eax, dword [ebp - 0x598]
jne 0x45f764
mov ecx, dword [ebp - 0x590]
cmp dword [ecx + 0x20], 0
jb 0x45f436
mov edx, dword [ebp - 0x590]
cmp dword [edx + 0x20], 0x3e8
jae 0x45f436
mov dword [ebp - 0x660], 1
jmp 0x45f440
mov dword [ebp - 0x660], 0
cmp dword [ebp - 0x660], 1
jne 0x45f615
mov eax, dword [ebp - 0x590]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x590]
call dword [edx + 0x54]
test eax, eax
je 0x45f47e
cmp dword [0x63a2b4], 0
je 0x45f47e
mov eax, dword [ebp - 0x590]
xor ecx, ecx
mov cl, byte [eax + 0x214]
cmp ecx, 1
jne 0x45f492
mov edx, dword [ebp - 0x590]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x590], eax
jmp 0x45f3a4
cmp dword [0x63a2b4], 0
jne 0x45f4da
mov ecx, dword [0x277c024]
xor edx, edx
mov dx, word [ecx + 0xf60]
mov eax, dword [ebp - 0x590]
xor ecx, ecx
mov cx, word [eax + 0x878]
cmp edx, ecx
je 0x45f4da
cmp dword [0x63a2a0], 0
jne 0x45f4da
mov edx, dword [ebp - 0x590]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x590], eax
jmp 0x45f3a4
cmp dword [0x63a2b4], 0
jne 0x45f535
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
test eax, eax
jle 0x45f535
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa5a]
mov ecx, dword [ebp - 0x590]
movsx edx, byte [ecx + 0xa5a]
cmp eax, edx
jne 0x45f535
cmp dword [0x63a2a0], 0
jle 0x45f535
mov eax, dword [ebp - 0x590]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x590], ecx
jmp 0x45f3a4
cmp dword [0x63a2b4], 0
jne 0x45f5d5
cmp dword [0x63a2a0], 0
jle 0x45f5d5
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
movsx ecx, byte [eax + 0xa5a]
cmp ecx, 3
jne 0x45f5d5
mov edx, dword [ebp - 0x590]
cmp dword [edx + 0x20], 0
jb 0x45f58b
mov eax, dword [ebp - 0x590]
cmp dword [eax + 0x20], 0x3e8
jae 0x45f58b
mov dword [ebp - 0x664], 1
jmp 0x45f595
mov dword [ebp - 0x664], 0
cmp dword [ebp - 0x664], 0
jne 0x45f5c1
mov ecx, dword [ebp - 0x590]
movsx edx, byte [ecx + 0xa5a]
test edx, edx
jle 0x45f5d5
mov eax, dword [ebp - 0x590]
movsx ecx, byte [eax + 0xa5a]
cmp ecx, 4
je 0x45f5d5
mov edx, dword [ebp - 0x590]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x590], eax
jmp 0x45f3a4
cmp dword [0x63a2b4], 0
jne 0x45f610
cmp dword [0x63a2a0], 0
jle 0x45f610
mov ecx, dword [ebp - 0x590]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x590]
call dword [edx + 0x58]
test eax, eax
jne 0x45f610
mov eax, dword [ebp - 0x590]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x590], ecx
jmp 0x45f3a4
jmp 0x45f72a
cmp dword [0x63a2b4], 0
jne 0x45f6bb
mov edx, dword [ebp - 0x590]
movsx eax, byte [edx + 0x215]
cmp eax, 1
jne 0x45f6bb
mov ecx, dword [0x277c024]
xor edx, edx
mov dx, word [ecx + 0xf60]
mov eax, dword [ebp - 0x590]
xor ecx, ecx
mov cx, word [eax + 0x878]
cmp edx, ecx
je 0x45f66d
mov edx, dword [ebp - 0x590]
xor eax, eax
mov ax, word [edx + 0x878]
test eax, eax
jne 0x45f680
mov ecx, dword [ebp - 0x590]
xor edx, edx
mov dx, word [ecx + 0x878]
test edx, edx
jne 0x45f6bb
mov eax, dword [ebp - 0x590]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x590]
call dword [edx + 0x58]
test eax, eax
jne 0x45f69e
cmp dword [0x63a2a0], 0
jg 0x45f6a7
cmp dword [0x63a2a0], 0
jne 0x45f6b6
mov eax, dword [ebp - 0x590]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x590], ecx
jmp 0x45f3a4
cmp dword [ebp - 0x20], 0
je 0x45f72a
cmp dword [0x63a2b4], 0
jne 0x45f72a
mov edx, dword [ebp - 0x590]
movsx eax, byte [edx + 0x215]
cmp eax, 1
jne 0x45f72a
mov ecx, dword [ebp - 0x590]
xor edx, edx
mov dx, word [ecx + 0x878]
test edx, edx
jne 0x45f72a
mov eax, dword [ebp - 0x590]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x590]
call dword [edx + 0x58]
test eax, eax
jne 0x45f70d
cmp dword [0x63a2a0], 0
jg 0x45f716
cmp dword [0x63a2a0], 0
jne 0x45f725
mov eax, dword [ebp - 0x590]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x590], ecx
jmp 0x45f3a4
mov edx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x590]
mov cx, word [eax + 0x20]
mov word [ebp + edx*8 - 0x540], cx
mov edx, dword [ebp - 0x424]
mov dword [ebp + edx*8 - 0x53c], 0xffffffff
mov eax, dword [ebp - 0x424]
add eax, 1
mov dword [ebp - 0x424], eax
jmp 0x45f778
mov ecx, dword [ebp - 0x590]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x590], edx
jmp 0x45f3a4
mov eax, dword [ebp - 0x20]
fld dword [eax + 0x28]
call fcn.005c5ef0
mov word [ebp - 0x556], ax
mov ecx, dword [ebp - 0x20]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov word [ebp - 0x554], ax
mov edx, dword [ebp - 0x14]
and edx, 0xff
test edx, edx
je 0x45f7f9
mov eax, dword [ebp - 0x5d0]
mov cx, word [eax + 0x8b688]
mov word [ebp - 0x55a], cx
mov edx, dword [ebp - 0x5d0]
mov ax, word [edx + 0x8b68c]
mov word [ebp - 0x558], ax
mov ecx, dword [ebp - 0x5d0]
mov dx, word [ecx + 0x8b688]
mov word [ebp - 0x556], dx
mov eax, dword [ebp - 0x5d0]
mov cx, word [eax + 0x8b68c]
mov word [ebp - 0x554], cx
mov dword [ebp - 0x420], 0xa8
mov edx, dword [ebp - 0x14]
and edx, 0xff
imul edx, edx, 0x60
cmp dword [edx + 0x11da884], 1
jne 0x45f82b
mov word [ebp - 0x578], 0x39d
mov dword [ebp - 0x420], 0x48
mov eax, dword [ebp - 0x14]
and eax, 0xff
imul eax, eax, 0x60
cmp dword [eax + 0x11da884], 2
jne 0x45f852
mov word [ebp - 0x578], 0x39e
mov dword [ebp - 0x420], 0x50
mov ecx, dword [ebp - 0x420]
push ecx
lea edx, [ebp - 0x57c]
push edx
call fcn.0054da23
add esp, 8
mov ecx, dword [ebp - 0x5d0]
call fcn.0044f967
push 0xa8
lea eax, [ebp - 0x57c]
push eax
lea ecx, [ebp - 0x4d4]
push ecx
call fcn.005c5f60
add esp, 0xc
mov edx, dword [ebp - 0x5d0]
mov ax, word [edx + 0x20]
mov word [ebp - 0x4ce], ax
mov byte [ebp - 0x4a5], 1
cmp dword [ebp - 0x18], 0
je 0x45f8bb
mov cl, byte [ebp - 0x4a4]
or cl, 8
mov byte [ebp - 0x4a4], cl
lea edx, [ebp - 0x4d4]
push edx
mov eax, dword [ebp - 0x578]
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x5d0]
call dword [edx + 4]
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 0x2754c], ecx
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + edx*4 + 0x8bea0], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov dword [eax + 0xa04], 0
mov eax, 1
jmp 0x45fcfe
cmp dword [ebp + 0x20], 1
jne 0x45fcdd
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x410]
jl 0x45fcdd
mov edx, dword [ebp - 0x3fc]
cmp edx, dword [ebp - 0x404]
jne 0x45fcdd
mov eax, dword [ebp - 0x400]
cmp eax, dword [ebp - 0x408]
jne 0x45fcdd
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
cmp dword [edx + 0x9d8], 4
jl 0x45fa1e
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
cmp dword [ecx + 0x9d8], 9
jg 0x45fa1e
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x384
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
mov edx, dword [eax + 0x60]
mov eax, dword [edx + 0x2d0]
mov ecx, dword [ecx + eax*4 + 0x6c7a90]
mov dword [ebp - 0x59c], ecx
cmp dword [ebp - 0x59c], 2
jbe 0x45f9d9
mov edx, dword [ebp - 0x59c]
sub edx, 2
mov dword [ebp - 0x59c], edx
mov eax, dword [0x63dae8]
cmp dword [eax + 0x1c], 0
je 0x45fa1e
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
mov eax, dword [ecx + 0x60]
mov ecx, dword [eax + 0x2e4]
imul ecx, dword [ebp - 0x59c]
mov edx, dword [edx + 0x7f0]
lea eax, [edx + ecx*4]
cmp dword [ebp + 0x1c], eax
jae 0x45fa1e
mov eax, 1
jmp 0x45fcfe
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x40], 0
je 0x45fcdd
fld dword [ebp + 0x14]
fcomp dword [0x5f5424]
fnstsw ax
test ah, 1
je 0x45fa5f
cmp dword [ebp - 0x20], 0
je 0x45fa5f
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x28]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x2c]
mov dword [ebp + 0x18], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x30]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x26ea4]
push eax
mov ecx, dword [ebp - 0x5d0]
mov ecx, dword [ecx + 0x4c]
call fcn.004dc1da
fld dword [ebp + 0x10]
call fcn.005c5ef0
mov esi, eax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x28]
call fcn.005c5ef0
cmp esi, eax
jne 0x45fac2
fld dword [ebp + 0x18]
call fcn.005c5ef0
mov esi, eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
cmp esi, eax
jne 0x45fac2
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov dword [eax + 0x26ec4], 0
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x20]
mov dword [edx + 0xa04], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ebp + 0x1c]
mov dword [ecx + 0x27600], edx
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0xa2c]
test edx, edx
je 0x45fb0e
xor eax, eax
jmp 0x45fcfe
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x5a0], eax
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5d0]
cmp dword [ecx + 0x8b688], 0
je 0x45fb6f
mov edx, dword [ebp - 0x5d0]
mov eax, dword [edx + 0x8b688]
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x5d0]
mov edx, dword [ecx + 0x8b68c]
mov dword [ebp - 0x5a4], edx
cmp dword [ebp - 0x20], 0
je 0x45fcdd
mov eax, dword [ebp - 0x20]
fld dword [eax + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x20]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x408], eax
mov edx, dword [ebp - 0x408]
push edx
mov eax, dword [ebp - 0x404]
push eax
mov ecx, dword [ebp - 0x5a4]
push ecx
mov edx, dword [ebp - 0x5a0]
push edx
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5b0], 1
mov dword [ebp - 0x5b4], 1
mov eax, dword [ebp - 0x5a0]
cmp eax, dword [ebp - 0x404]
jle 0x45fbf1
mov dword [ebp - 0x5b0], 0xffffffff
mov ecx, dword [ebp - 0x5a4]
cmp ecx, dword [ebp - 0x408]
jle 0x45fc09
mov dword [ebp - 0x5b4], 0xffffffff
mov dword [ebp - 0x5ac], 0
mov edx, dword [ebp - 0x5a8]
cmp edx, dword [ebp - 0x410]
jle 0x45fcb9
cmp dword [ebp - 0x5ac], 0x1f4
jle 0x45fc3b
mov eax, 1
jmp 0x45fcfe
mov eax, dword [ebp - 0x5a0]
cmp eax, dword [ebp - 0x404]
je 0x45fc5b
mov ecx, dword [ebp - 0x5a0]
add ecx, dword [ebp - 0x5b0]
mov dword [ebp - 0x5a0], ecx
mov edx, dword [ebp - 0x5a4]
cmp edx, dword [ebp - 0x408]
je 0x45fc7b
mov eax, dword [ebp - 0x5a4]
add eax, dword [ebp - 0x5b4]
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x408]
push ecx
mov edx, dword [ebp - 0x404]
push edx
mov eax, dword [ebp - 0x5a4]
push eax
mov ecx, dword [ebp - 0x5a0]
push ecx
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x5a8], eax
mov edx, dword [ebp - 0x5ac]
add edx, 1
mov dword [ebp - 0x5ac], edx
jmp 0x45fc13
mov eax, dword [ebp - 0x5d0]
mov ecx, dword [ebp - 0x5a0]
mov dword [eax + 0x276dc], ecx
mov edx, dword [ebp - 0x5d0]
mov eax, dword [ebp - 0x5a4]
mov dword [edx + 0x276e0], eax
jmp 0x45fcef
mov ecx, dword [ebp - 0x5d0]
mov dword [ecx + 0xbc], 0
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [ebp - 0x5d0]
call fcn.004560f4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x20