Function at 0x4ca99c
Capabilities:
Copy file
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xe8
push 0
push 0
dec ecx
jne 0x4ca9a5
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x524], ecx
mov dword [ebp - 0x520], edx
mov dword [ebp - 0x518], eax
xor eax, eax
push ebp
push 0x4cd720
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
call fcn.0061cf6c
call fcn.004c1cbc
mov dword [ebp - 0x528], eax
call fcn.0064d5e0
mov edx, dword [0x6702f4]
mov dword [edx], eax
call fcn.0064d630
mov edx, dword [0x66f840]
mov dword [edx], eax
call fcn.0064d630
mov dword [ebp - 0x454], eax
lea eax, [ebp - 0x6c4]
mov ecx, 0x4cd738
mov edx, dword [ebp - 4]
call fcn.00403b14
mov eax, dword [ebp - 0x6c4]
call fcn.006219e4
mov eax, dword [0x6701a8]
mov al, byte [eax]
mov byte [ebp - 0x555], al
mov eax, dword [0x6701a8]
mov byte [eax], 0x2e
xor eax, eax
mov dword [ebp - 0x43c], eax
xor eax, eax
mov dword [ebp - 0x438], eax
call fcn.0064e78c
mov dword [ebp - 0x41c], eax
call fcn.0064d630
mov dword [ebp - 0x570], eax
call fcn.0064d630
mov dword [ebp - 0x578], eax
call fcn.0064d630
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x57c]
mov byte [eax + 0x28], 1
call fcn.0064e78c
mov dword [ebp - 0x530], eax
call fcn.0064e78c
mov dword [ebp - 0x564], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005bd094
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005f89d8
and eax, 0x3ff
mov dword [ebp - 0x54c], eax
lea eax, [ebp - 0x4a0]
mov edx, 2
call fcn.00403804
mov eax, dword [ebp - 0x4a0]
mov word [eax], 0x6e65
mov ebx, 0x47
mov eax, dword [0x66fa04]
mov dword [ebp - 0x628], eax
mov eax, dword [0x66f8ec]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x628]
movzx eax, byte [eax]
cmp eax, dword [ebp - 0x54c]
jne 0x4cab16
mov eax, dword [ebp - 0x62c]
mov ax, word [eax]
mov edx, dword [ebp - 0x4a0]
mov word [edx], ax
jmp 0x4cab26
add dword [ebp - 0x62c], 2
inc dword [ebp - 0x628]
dec ebx
jne 0x4caaf1
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005e2cb0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x598]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x4cab61
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x598]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [eax + 0x34], ebx
dec ebx
cmp ebx, 0xffffffff
jne 0x4cab46
xor eax, eax
mov dword [ebp - 0x538], eax
xor eax, eax
mov dword [ebp - 0x534], eax
call fcn.0064d5e0
mov dword [ebp - 0x430], eax
call fcn.0064d630
mov dword [ebp - 0x4a4], eax
call fcn.0064e78c
mov dword [ebp - 0x514], eax
call fcn.0064e78c
mov dword [ebp - 0x434], eax
call fcn.0064e78c
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x428], 0x7fffffff
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xb0]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x4cac14
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
call fcn.005529dc
mov dword [ebp - 0x598], eax
mov eax, dword [ebp - 0x598]
call fcn.00625438
test al, al
je 0x4cac0e
mov eax, dword [ebp - 0x598]
mov edx, dword [eax + 0xc]
dec edx
mov eax, dword [ebp - 0x428]
call fcn.00653538
mov dword [ebp - 0x428], eax
dec ebx
cmp ebx, 0xffffffff
jne 0x4cabc7
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x51c], 1
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 1
call fcn.00563ae0
mov dword [ebp - 0x548], eax
cmp ebx, dword [ebp - 0x548]
jge 0x4cadfc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005bd358
mov esi, eax
push ebp
mov edx, dword [ebp - 0x564]
mov eax, ebx
call fcn.004ca08c
pop ecx
mov byte [ebp - 0x591], al
inc ebx
cmp byte [ebp - 0x591], 0
jne 0x4cad51
jmp 0x4cac85
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005bd358
add esi, eax
inc ebx
cmp ebx, dword [ebp - 0x548]
jge 0x4cad05
push ebp
mov eax, ebx
call fcn.004c4f74
pop ecx
cmp eax, 9
jne 0x4cad05
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005bd358
add eax, esi
cmp eax, dword [ebp - 0x518]
jle 0x4cace5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
cmp byte [eax + 0x3c], 0
je 0x4cad05
lea ecx, [ebp - 0x6e4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005efe38
cmp ebx, dword [ebp - 0x6e4]
jle 0x4cad05
push ebp
xor edx, edx
mov eax, ebx
call fcn.004ca08c
pop ecx
test al, al
jne 0x4cad05
push ebp
mov eax, ebx
call fcn.004ca3a0
pop ecx
test al, al
je 0x4cac75
cmp ebx, dword [ebp - 0x548]
jge 0x4cad51
mov eax, ebx
sub eax, edi
dec eax
jne 0x4cad51
push ebp
mov eax, edi
call fcn.004c5070
pop ecx
test al, al
je 0x4cad51
push ebp
mov edx, dword [ebp - 0x564]
mov eax, ebx
call fcn.004ca08c
pop ecx
test al, al
je 0x4cad51
mov edx, ebx
mov eax, dword [ebp - 0x434]
call fcn.0064e9dc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005bd358
add esi, eax
inc ebx
lea edx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x51c]
call fcn.004ca538
mov edx, dword [ebp - 0x6e8]
mov ecx, edi
mov eax, dword [ebp - 0x430]
call fcn.0064f5d4
mov edx, esi
mov eax, dword [ebp - 0x514]
call fcn.0064e9dc
inc dword [ebp - 0x51c]
cmp byte [ebp - 0x591], 0
je 0x4cadad
mov edx, edi
mov eax, dword [ebp - 0x434]
call fcn.0064e9dc
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
jmp 0x4cadee
push ebp
mov eax, edi
call fcn.004c4f74
pop ecx
cmp eax, 9
jne 0x4cadca
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x30]
jmp 0x4cadee
lea ecx, [ebp - 0x6c4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, edi
call fcn.005c12f0
mov edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov edi, ebx
cmp ebx, dword [ebp - 0x548]
jl 0x4cac41
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.004c3b7c
mov dword [ebp - 0x59c], eax
xor eax, eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x49c], 0x80000000
mov eax, dword [ebp - 0x59c]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x4cae72
mov eax, dword [ebp - 0x59c]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x5a0]
cmp byte [eax + 4], 0
je 0x4cae6c
mov eax, dword [ebp - 0x5a0]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x5a0]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x49c], eax
jmp 0x4cae72
dec ebx
cmp ebx, 0xffffffff
jne 0x4cae2e
mov eax, dword [ebp - 0x59c]
call fcn.0064edac
mov eax, dword [ebp - 0x430]
mov ebx, dword [eax + 0x24]
dec ebx
cmp ebx, 1
jl 0x4caf36
push ebp
mov eax, ebx
call fcn.004c513c
pop ecx
test al, al
jne 0x4caf2d
push ebp
mov eax, ebx
dec eax
call fcn.004c513c
pop ecx
test al, al
jne 0x4caf2d
mov edx, ebx
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov esi, eax
push ebp
mov eax, esi
dec eax
call fcn.004c4f74
pop ecx
mov dword [ebp - 0x550], eax
push ebp
mov eax, esi
call fcn.004c4f74
pop ecx
mov dword [ebp - 0x554], eax
cmp dword [ebp - 0x550], 9
je 0x4caf2d
cmp dword [ebp - 0x554], 9
je 0x4caf2d
mov eax, dword [ebp - 0x550]
cmp eax, dword [ebp - 0x554]
jge 0x4caf2d
push ebp
mov eax, esi
call fcn.004ca3a0
pop ecx
test al, al
jne 0x4caf2d
mov edx, esi
mov eax, dword [ebp - 0x480]
call fcn.0064e9dc
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x14]
lea eax, [eax + ebx*4]
mov edx, 0x4cd748
call fcn.004032c8
dec ebx
test ebx, ebx
jne 0x4cae90
push ebp
call fcn.004ca55c
pop ecx
mov eax, dword [ebp - 0x520]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x430]
mov ebx, dword [eax + 0x24]
dec ebx
cmp ebx, 1
jl 0x4caff2
push ebp
mov eax, ebx
call fcn.004c513c
pop ecx
test al, al
jne 0x4caf87
push ebp
mov edx, ebx
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.004ca3a0
pop ecx
test al, al
jne 0x4caf87
mov eax, dword [ebp - 0x520]
inc dword [eax]
push ebp
mov eax, ebx
call fcn.004c5118
pop ecx
test al, al
je 0x4cafe9
mov esi, ebx
dec esi
jmp 0x4caf9a
dec esi
push ebp
mov eax, esi
call fcn.004c5118
pop ecx
test al, al
jne 0x4caf99
mov edx, ebx
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
lea ecx, [ebp - 0x6e8]
mov eax, 0x4cd74c
call fcn.00655c8c
mov ecx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x14]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x14]
lea eax, [eax + ebx*4]
call fcn.00403568
dec ebx
test ebx, ebx
jne 0x4caf5a
mov eax, dword [ebp - 0x4a4]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x5a4], eax
mov eax, dword [ebp - 0x5a4]
cmp dword [eax], 0
jne 0x4cb164
push ebp
xor eax, eax
call fcn.004c5070
pop ecx
test al, al
jne 0x4cb164
mov eax, dword [ebp - 0x430]
cmp dword [eax + 0x24], 1
jne 0x4cb045
mov eax, dword [ebp - 0x5a4]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx]
call fcn.004038bc
jmp 0x4cb164
mov eax, dword [ebp - 0x54c]
add eax, 0xfffffff9
cmp eax, 0x16
ja case.0x4cb05d.7
mov al, byte [eax + 0x4cb064]
jmp dword [eax*4 + 0x4cb07b]
lea eax, [ebp - 0x588]
mov edx, 0x4cd75c
call fcn.0040330c
jmp 0x4cb142
lea eax, [ebp - 0x588]
mov edx, 0x4cd770
call fcn.0040330c
jmp 0x4cb142
lea eax, [ebp - 0x588]
mov edx, 0x4cd784
call fcn.0040330c
jmp 0x4cb142
lea eax, [ebp - 0x588]
mov edx, 0x4cd798
call fcn.0040330c
jmp 0x4cb142
lea eax, [ebp - 0x588]
mov edx, 0x4cd7b0
call fcn.0040330c
jmp 0x4cb142
lea eax, [ebp - 0x588]
mov edx, 0x4cd7c4
call fcn.0040330c
jmp 0x4cb142
lea eax, [ebp - 0x588]
mov edx, 0x4cd7e0
call fcn.0040330c
jmp 0x4cb142
lea eax, [ebp - 0x588]
mov edx, 0x4cd7f8
call fcn.0040330c
jmp 0x4cb142
lea eax, [ebp - 0x588]
mov edx, 0x4cd80c
call fcn.0040330c
lea edx, [ebp - 0x6c4]
mov eax, dword [ebp - 0x588]
call fcn.00654c74
mov edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x5a4]
call fcn.004038bc
mov dword [ebp - 0x490], 0xffffffff
mov dword [ebp - 0x494], 0xffffffff
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x130]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 4]
add eax, dword [edx + 0x134]
test eax, eax
jle 0x4cb327
mov ebx, edi
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 2
call fcn.00563b04
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x51c], 1
cmp ebx, dword [ebp - 0x548]
jg 0x4cb317
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005bd358
mov esi, eax
inc ebx
jmp 0x4cb1e5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005bd358
add esi, eax
inc ebx
cmp ebx, dword [ebp - 0x548]
jg 0x4cb204
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005bd358
add eax, esi
cmp eax, dword [ebp - 0x518]
jle 0x4cb1d5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 1
call fcn.00563ae0
cmp edi, eax
jne 0x4cb2cd
mov byte [ebp - 0x592], 1
mov eax, dword [ebp - 0x430]
mov edx, dword [eax + 0x24]
dec edx
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov esi, eax
mov eax, edi
dec eax
sub eax, esi
jl 0x4cb265
inc eax
mov dword [ebp - 0x5a8], eax
push ebp
mov eax, esi
call fcn.004c4f74
pop ecx
cmp eax, 9
jne 0x4cb25c
mov byte [ebp - 0x592], 0
jmp 0x4cb265
inc esi
dec dword [ebp - 0x5a8]
jne 0x4cb245
cmp byte [ebp - 0x592], 0
je 0x4cb29c
mov eax, dword [ebp - 0x430]
mov edx, dword [eax + 0x24]
dec edx
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
mov eax, dword [ebp - 0x430]
mov edx, dword [eax + 0x24]
dec edx
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4cb2a9
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4cd818
mov ecx, edi
mov eax, dword [ebp - 0x430]
call fcn.0064f5f8
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
dec eax
mov dword [ebp - 0x490], eax
jmp 0x4cb303
lea ecx, [ebp - 0x6e8]
mov eax, 0x4cd824
mov edx, dword [ebp - 0x51c]
call fcn.00655c8c
mov edx, dword [ebp - 0x6e8]
mov ecx, edi
mov eax, dword [ebp - 0x430]
call fcn.0064f5d4
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc dword [ebp - 0x51c]
mov edi, ebx
cmp ebx, dword [ebp - 0x548]
jle 0x4cb1c3
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
dec eax
mov dword [ebp - 0x494], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 2
call fcn.00563b04
mov ecx, eax
inc ecx
xor edx, edx
mov eax, dword [ebp - 0x430]
call fcn.0064f5d4
lea eax, [ebp - 0x47c]
push eax
lea edx, [ebp - 0x6e4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005c5af4
lea ecx, [ebp - 0x6e4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
xor edx, edx
call fcn.005c4ef4
cmp word [ebp - 0x476], 1
jne 0x4cb384
cmp word [ebp - 0x478], 0xf0
je 0x4cb388
xor eax, eax
jmp 0x4cb38a
mov al, 1
mov byte [ebp - 0x43d], al
mov ebx, 9
xor eax, eax
mov al, bl
imul eax, eax, 0xd
lea esi, [ebp + eax*8 - 0x414]
mov ecx, 0x28
mov dl, 1
mov eax, dword [0x617640]
call fcn.0062692c
mov dword [esi], eax
mov ecx, 0x60
mov dl, 1
mov eax, dword [0x617640]
call fcn.0062692c
mov dword [esi + 4], eax
call fcn.0064e78c
mov dword [esi + 0x64], eax
dec ebx
cmp ebx, 0xffffffff
jne 0x4cb395
mov ecx, 0x30
mov dl, 1
mov eax, dword [0x617640]
call fcn.0062692c
mov dword [ebp - 0x484], eax
call fcn.0064e78c
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 2
call fcn.00563b04
mov dword [ebp - 0x548], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x604]
cmp dword [eax + 0x18], 0
jle 0x4cb706
mov eax, dword [0x66e8a8]
test byte [eax + 0xc], 0x80
jne 0x4cb706
mov ebx, dword [ebp - 0x548]
cmp ebx, 0
jl 0x4cb49e
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5ac], eax
mov eax, dword [ebp - 0x5ac]
cmp dword [eax + 0x37], 0
je 0x4cb498
mov eax, dword [ebp - 0x5ac]
mov eax, dword [eax + 0x37]
xor edx, edx
call fcn.00561d60
test al, al
je 0x4cb498
mov eax, dword [ebp - 0x5ac]
mov eax, dword [eax + 0x37]
cmp dword [eax + 0x14], 1
jne 0x4cb498
mov eax, dword [ebp - 0x5ac]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.0064e9f4
dec ebx
cmp ebx, 0xffffffff
jne 0x4cb43d
mov eax, dword [ebp - 0x42c]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x4cb537
mov eax, dword [ebp - 0x42c]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
add eax, 0x14
mov dword [ebp - 0x5b0], eax
mov eax, dword [ebp - 0x5b0]
mov eax, dword [eax + 4]
sub eax, 5
jb 0x4cb4d9
sub eax, 0x11
jne 0x4cb520
lea eax, [ebp - 0x6e8]
mov edx, dword [ebp - 0x5b0]
mov edx, dword [edx + 0x94]
call fcn.004034e4
mov eax, dword [ebp - 0x6e8]
mov edx, 0x4cd83c
call fcn.0040362c
jne 0x4cb511
mov eax, dword [ebp - 0x5b0]
cmp byte [eax + 0x91], 0
je 0x4cb52d
mov edx, ebx
mov eax, dword [ebp - 0x42c]
call fcn.0064ea88
jmp 0x4cb52d
mov edx, ebx
mov eax, dword [ebp - 0x42c]
call fcn.0064ea88
dec ebx
cmp ebx, 0xffffffff
jne 0x4cb4b1
mov eax, dword [ebp - 0x42c]
cmp dword [eax + 0x18], 0
jle 0x4cb626
mov ebx, dword [ebp - 0x548]
cmp ebx, 0
jl 0x4cb626
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5b4], eax
mov eax, dword [ebp - 0x5b4]
cmp dword [eax + 0x37], 0
je 0x4cb61c
mov eax, dword [ebp - 0x5b4]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.0064eb58
test al, al
je 0x4cb61c
mov eax, dword [ebp - 0x5b4]
mov eax, dword [eax + 0x37]
mov al, byte [eax + 0xb]
xor al, 1
and eax, 0x7f
mov edx, dword [ebp - 0x5b4]
movsx edx, byte [edx + 0x3b]
imul edx
test eax, eax
jg 0x4cb608
mov eax, dword [ebp - 0x5b4]
cmp word [eax + 0x1c], 0
jge 0x4cb608
mov eax, dword [ebp - 0x5b4]
mov eax, dword [eax + 0x37]
cmp dword [eax + 0x14], 1
jne 0x4cb608
test ebx, ebx
jle 0x4cb61c
mov eax, dword [ebp - 0x5b4]
cmp dword [eax + 0x7c], 1
jle 0x4cb61c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4 - 4]
mov eax, dword [eax + 0x37]
mov edx, dword [ebp - 0x5b4]
cmp eax, dword [edx + 0x37]
je 0x4cb61c
mov eax, dword [ebp - 0x5b4]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.0064eac4
dec ebx
cmp ebx, 0xffffffff
jne 0x4cb556
mov eax, dword [ebp - 0x548]
test eax, eax
jl 0x4cb706
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004c4fec
pop ecx
test al, al
je 0x4cb6f9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5b8], eax
mov eax, dword [ebp - 0x5b8]
mov eax, dword [eax + 0x37]
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x5b8]
lea esi, [eax + 0x1c]
lea edi, [ebp - 0x6c0]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x6c0]
call fcn.004c3ee0
mov eax, dword [ebp - 0x5bc]
mov al, byte [eax + 0xb]
xor al, 1
and eax, 0x7f
mov edx, dword [ebp - 0x5b8]
movsx edx, byte [edx + 0x3b]
imul edx
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x5bc]
mov al, byte [eax + 0xb]
xor al, 1
and eax, 0x7f
mov edx, dword [ebp - 0x5b8]
movsx edx, byte [edx + 0x3b]
imul edx
imul eax, eax, 0x2b
mov edx, dword [ebp - 0x5bc]
mov eax, dword [edx + eax*4 + 0x18]
mov dword [ebp - 0x698], eax
lea edx, [ebp - 0x6c0]
mov ecx, 1
mov eax, dword [ebp - 0x484]
call fcn.00626968
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cb63d
mov eax, dword [ebp - 0x548]
test eax, eax
jl 0x4cbacd
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ebx*4]
push edi
lea esi, [edi + 0x1c]
lea edi, [ebp - 0x47c]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
pop edi
lea eax, [ebp - 0x47c]
call fcn.004c3eb0
mov edx, ebx
mov eax, dword [ebp - 0x434]
call fcn.0064eb58
test al, al
je 0x4cb778
mov word [ebp - 0x46c], 0
mov word [ebp - 0x46a], 0
mov byte [ebp - 0x472], 1
jmp 0x4cb7c1
cmp word [ebp - 0x46c], 0xffec
jne 0x4cb7ab
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.00563a8c
mov edx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.00563ae0
cmp ebx, eax
jne 0x4cb7ab
mov word [ebp - 0x46c], 0
jmp 0x4cb7b6
mov ax, word [edi + 0x44]
mov word [ebp - 0x46c], ax
mov ax, word [edi + 0x46]
mov word [ebp - 0x46a], ax
push ebp
mov eax, ebx
call fcn.004c3e58
pop ecx
and eax, 0x7f
imul eax, eax, 0xd
mov eax, dword [ebp + eax*8 - 0x414]
lea edx, [ebp - 0x47c]
mov ecx, 1
call fcn.00626968
cmp dword [edi + 0x37], 0
je 0x4cb8a5
push ebp
mov eax, ebx
call fcn.004c4fec
pop ecx
test al, al
jne 0x4cb8a5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 0x59
call fcn.00564f50
lea eax, [ebp - 0x500]
push eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + ebx*4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
xor ecx, ecx
call fcn.005c5274
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.00565004
mov eax, dword [edi + 0x48]
call fcn.0064e170
mov dword [ebp - 0x48c], eax
mov esi, 0x16
lea eax, [ebp - 0x4a8]
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x630]
mov eax, dword [eax]
push eax
mov ecx, esi
mov eax, dword [edi + 0x48]
xor edx, edx
call fcn.00626fd8
dec esi
sub dword [ebp - 0x630], 4
cmp esi, 0xffffffff
jne 0x4cb85f
mov eax, dword [edi + 0x50]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 8]
push eax
mov eax, dword [edi + 0x50]
mov eax, dword [eax + 0x48]
mov edx, dword [eax + 4]
mov eax, dword [edi + 0x48]
xor ecx, ecx
call fcn.0064e4c0
and word [edi + 0xc], 0xfffd
jmp 0x4cb8ad
xor eax, eax
mov dword [ebp - 0x48c], eax
mov esi, dword [edi + 0x48]
mov eax, edi
call fcn.00551674
xor eax, eax
mov dword [ebp - 0x444], eax
xor eax, eax
mov dword [ebp - 0x504], eax
lea eax, [ebp - 0x500]
call fcn.00544214
push ebp
mov edx, ebx
mov eax, dword [ebp - 0x4c4]
call fcn.004c3d8c
pop ecx
mov dword [ebp - 0x4c4], eax
mov byte [ebp - 0x593], 0
jmp 0x4cba7e
mov eax, dword [esi + 4]
add eax, dword [ebp - 0x444]
cmp word [eax], 0
jne 0x4cba71
mov eax, dword [esi + 4]
add eax, dword [ebp - 0x444]
add eax, 2
mov dword [ebp - 0x5c0], eax
mov eax, dword [ebp - 0x5c0]
mov al, byte [eax]
sub al, 0x17
jae 0x4cb9b9
cmp byte [ebp - 0x593], 0
je 0x4cb940
mov eax, dword [ebp - 0x5c0]
cmp byte [eax], 0x14
je 0x4cba68
cmp dword [ebp - 0x504], 0
jle 0x4cb95a
push ebp
mov eax, ebx
call fcn.004c9db4
pop ecx
xor eax, eax
mov dword [ebp - 0x504], eax
mov eax, dword [ebp - 0x5c0]
mov eax, dword [eax + 1]
mov edx, dword [ebp - 0x5c0]
movzx edx, byte [edx]
mov dword [ebp + edx*4 - 0x500], eax
mov eax, dword [ebp - 0x5c0]
cmp byte [eax], 0xf
jne 0x4cb99b
push ebp
mov eax, dword [ebp - 0x5c0]
mov eax, dword [eax + 1]
mov edx, ebx
call fcn.004c3d8c
pop ecx
mov dword [ebp - 0x4c4], eax
jmp 0x4cba68
mov eax, dword [ebp - 0x5c0]
mov eax, dword [eax + 1]
mov edx, dword [ebp - 0x5c0]
movzx edx, byte [edx]
mov dword [ebp + edx*4 - 0x500], eax
jmp 0x4cba68
mov eax, dword [ebp - 0x5c0]
mov al, byte [eax]
add al, 0xe9
sub al, 5
jae 0x4cb9d2
inc dword [ebp - 0x504]
jmp 0x4cba68
mov eax, dword [ebp - 0x5c0]
cmp byte [eax], 0x1c
jne 0x4cba47
mov eax, dword [ebp - 0x5c0]
mov eax, dword [eax + 1]
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x5c4]
mov al, byte [eax + 4]
sub al, 3
je 0x4cb9ff
sub al, 5
je 0x4cba3e
jmp 0x4cba68
mov eax, dword [ebp - 0x5c4]
test byte [eax + 7], 1
je 0x4cba68
mov eax, dword [ebp - 0x5c4]
mov eax, dword [eax + 0x44]
movzx eax, byte [eax + 6]
inc dword [ebp + eax*4 - 0x538]
mov eax, dword [ebp - 0x5c4]
mov eax, dword [eax + 0x44]
movzx eax, byte [eax + 6]
mov eax, dword [ebp + eax*4 - 0x538]
mov edx, dword [ebp - 0x5c4]
mov dword [edx + 0x40], eax
jmp 0x4cba68
mov byte [ebp - 0x593], 1
jmp 0x4cba68
mov eax, dword [ebp - 0x5c0]
cmp byte [eax], 0x1d
jne 0x4cba68
mov eax, dword [ebp - 0x5c0]
mov eax, dword [eax + 1]
cmp byte [eax + 4], 8
jne 0x4cba68
mov byte [ebp - 0x593], 0
add dword [ebp - 0x444], 9
jmp 0x4cba7e
inc dword [ebp - 0x504]
add dword [ebp - 0x444], 2
mov eax, dword [esi + 8]
cmp eax, dword [ebp - 0x444]
jg 0x4cb8f3
cmp dword [ebp - 0x504], 0
jle 0x4cba9f
push ebp
mov eax, ebx
call fcn.004c9db4
pop ecx
cmp dword [ebp - 0x48c], 0
je 0x4cbac0
mov eax, dword [edi + 0x48]
mov edx, dword [ebp - 0x48c]
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [ebp - 0x48c]
call fcn.004028c0
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cb71d
mov byte [ebp - 0x415], 0
lea eax, [ebp - 0x414]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x5c8]
mov ebx, dword [eax + 4]
mov eax, dword [ebx + 4]
cmp dword [eax + 0x18], 0
jle 0x4cbbbe
mov eax, dword [ebx + 0x14]
mov edx, dword [ebx + 4]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
cmp dword [eax + 0x18], 0
jne 0x4cbb3b
mov eax, dword [ebp - 0x568]
cmp dword [eax + 0x10], 0
jne 0x4cbb3b
mov eax, dword [ebp - 0x568]
cmp dword [eax + 0x40], 0xff000000
je 0x4cbba6
mov eax, 0x60
call fcn.00401e58
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x568]
mov edx, dword [ebp - 0x56c]
mov esi, eax
mov edi, edx
mov ecx, 0x18
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x56c]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x56c]
xor edx, edx
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x56c]
mov dword [eax + 0x40], 0xff000000
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x56c]
xor edx, edx
call fcn.0064ea48
xor eax, eax
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
mov edx, dword [ebp - 0x5c8]
mov esi, eax
lea edi, [edx + 8]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4cbae0
mov eax, dword [0x66ebf8]
cmp byte [eax + 0x2e], 2
jne 0x4cbe77
mov edx, dword [ebp - 0x578]
mov eax, dword [ebp - 0x570]
call fcn.0062771c
lea edx, [ebp - 0x6c4]
mov eax, dword [0x66ebf8]
mov eax, dword [eax + 0x2f]
call fcn.00619cd4
mov eax, dword [ebp - 0x6c4]
call fcn.0064d644
mov dword [ebp - 0x574], eax
mov dl, 1
mov eax, dword [ebp - 0x574]
call fcn.00650140
mov byte [ebp - 0x415], 0
lea eax, [ebp - 0x410]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
mov edi, dword [eax]
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4cbe52
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
lea eax, [ebp - 0x580]
mov edx, dword [edi + 4]
mov edx, dword [edx + 0x1c]
mov edx, dword [edx + ebx*4]
mov edx, dword [edx]
mov edx, dword [edx + 4]
call fcn.004038bc
mov edx, dword [ebp - 0x580]
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov esi, eax
cmp esi, 0xffffffff
je 0x4cbe45
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5cc]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5cc]
mov edx, dword [edx + 0xc]
add edx, edx
or eax, edx
mov dword [ebp - 0x58c], eax
jmp 0x4cbcbf
dec esi
test esi, esi
jle 0x4cbe1b
mov eax, dword [ebp - 0x570]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + esi*4 - 4]
mov eax, dword [ebp - 0x580]
call fcn.0065411c
test eax, eax
je 0x4cbcbe
jmp 0x4cbe1b
mov edx, esi
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x590], eax
mov edx, dword [ebp - 0x590]
mov eax, dword [ebp - 0x578]
mov ecx, dword [eax]
call dword [ecx + 0x18]
cmp eax, dword [ebp - 0x58c]
jne 0x4cbe1a
mov edx, esi
mov eax, dword [ebp - 0x530]
call fcn.0064eb58
test al, al
jne 0x4cbe45
mov eax, dword [ebp - 0x570]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x574]
mov ecx, dword [eax]
call dword [ecx + 0x44]
inc eax
jne 0x4cbe45
mov eax, dword [ebp - 0x578]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0x590]
lea eax, [eax + edx*4]
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x5d0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x57c]
mov ecx, dword [eax]
call dword [ecx + 0x44]
inc eax
jne 0x4cbe0b
lea eax, [ebp - 0x6c4]
mov ecx, 0x4cd844
mov edx, dword [ebp - 4]
call fcn.00403b14
mov eax, dword [ebp - 0x6c4]
call fcn.006219e4
push 0
push dword [ebp - 4]
push 0x4cd85c
lea edx, [ebp - 0x6f0]
mov eax, dword [ebp - 0x5d0]
mov eax, dword [eax]
call fcn.006552dc
mov eax, dword [ebp - 0x6f0]
lea ecx, [ebp - 0x6ec]
mov dx, 0x20
call fcn.00653b64
push dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 3
call fcn.00403b78
mov eax, dword [ebp - 0x6c4]
push eax
mov eax, dword [ebp - 0x5d0]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_CopyFileW
mov eax, dword [ebp - 0x5d0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x57c]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov edx, esi
mov eax, dword [ebp - 0x530]
call fcn.0064e9dc
jmp 0x4cbe45
inc esi
mov eax, dword [ebp - 0x570]
cmp esi, dword [eax + 0x24]
jge 0x4cbe45
mov eax, dword [ebp - 0x570]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x580]
call fcn.0065411c
test eax, eax
je 0x4cbce8
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cbc5c
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4cbc3c
mov eax, dword [ebp - 0x574]
call fcn.004028c0
call fcn.0064d5e0
mov dword [ebp - 0x448], eax
call fcn.0064d5e0
mov dword [ebp - 0x488], eax
call fcn.0064d5e0
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x530]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4cc011
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
mov eax, dword [ebp - 0x530]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + ebx*4]
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x590], eax
mov edx, dword [ebp - 0x590]
mov eax, dword [ebp - 0x578]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x58c], eax
push 0x4cd87c
lea ecx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x530]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + ebx*4]
mov eax, dword [ebp - 0x570]
mov esi, dword [eax]
call dword [esi + 0x10]
push dword [ebp - 0x6e8]
push 0x4cd8a0
lea eax, [ebp - 0x544]
mov edx, 3
call fcn.004035dc
test byte [ebp - 0x58c], 2
jne 0x4cbf3f
lea eax, [ebp - 0x544]
mov edx, 0x4cd8b8
call fcn.00403524
jmp 0x4cbf4f
lea eax, [ebp - 0x544]
mov edx, 0x4cd8c8
call fcn.00403524
lea eax, [ebp - 0x544]
mov edx, 0x4cd8d8
call fcn.00403524
test byte [ebp - 0x58c], 1
jne 0x4cbf7a
lea eax, [ebp - 0x544]
mov edx, 0x4cd8b8
call fcn.00403524
jmp 0x4cbf8a
lea eax, [ebp - 0x544]
mov edx, 0x4cd8f0
call fcn.00403524
push dword [ebp - 0x544]
push 0x4cd900
mov eax, dword [ebp - 0x578]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0x590]
mov eax, dword [eax + edx*4]
lea edx, [ebp - 0x6ec]
call fcn.006552dc
mov eax, dword [ebp - 0x6ec]
lea ecx, [ebp - 0x6c4]
mov dx, 0x20
call fcn.00653b64
mov eax, dword [ebp - 0x6c4]
lea edx, [ebp - 0x6f4]
call fcn.00654c3c
push dword [ebp - 0x6f4]
push 0x4cd918
lea eax, [ebp - 0x6e8]
mov edx, 4
call fcn.004035dc
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cbeb3
mov eax, dword [0x66ebf8]
test byte [eax + 1], 4
je 0x4cc0e1
lea eax, [ebp - 0x6f4]
push eax
mov eax, dword [0x66ebf8]
mov eax, dword [eax + 0x26]
mov dword [ebp - 0x71c], eax
mov byte [ebp - 0x718], 0xb
mov eax, dword [0x66ebf8]
movzx eax, byte [eax + 0x1d]
mov edx, dword [0x66f918]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x714], eax
mov byte [ebp - 0x710], 6
mov eax, dword [0x66ebf8]
mov eax, dword [eax + 0x22]
mov dword [ebp - 0x70c], eax
mov byte [ebp - 0x708], 0xb
mov eax, dword [0x66ebf8]
mov eax, dword [eax + 0x2a]
mov dword [ebp - 0x704], eax
mov byte [ebp - 0x700], 0xb
mov eax, dword [0x66ebf8]
mov eax, dword [eax + 0x1e]
mov dword [ebp - 0x6fc], eax
mov byte [ebp - 0x6f8], 0xb
lea edx, [ebp - 0x71c]
mov eax, 0x4cd91c
mov ecx, 4
call fcn.00655a28
mov eax, dword [ebp - 0x6f4]
lea edx, [ebp - 0x6e8]
call fcn.0061bcb4
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4cd950
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4cd968
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov byte [ebp - 0x415], 0
lea eax, [ebp - 0x414]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
mov ebx, eax
mov esi, dword [ebx]
mov eax, dword [esi + 4]
cmp dword [eax + 0x18], 0
jle 0x4cc3b1
push esi
lea esi, [ebx + 8]
lea edi, [ebp - 0x690]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
pop esi
mov edx, dword [0x66f260]
lea eax, [ebp - 0x690]
call fcn.00544094
mov eax, dword [ebx + 8]
mov dword [ebp - 0x690], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x68c], eax
cmp dword [ebx + 0x10], 0
jne 0x4cc169
mov al, byte [ebp - 0x415]
dec eax
sub al, 9
jae 0x4cc169
xor eax, eax
mov dword [ebp - 0x688], eax
cmp dword [ebp - 0x654], 0
jne 0x4cc17c
mov dword [ebp - 0x654], 0x80000000
mov dword [ebp - 0x64c], 0x80000000
mov eax, dword [0x66ffe8]
movsx eax, word [eax]
mov dword [ebp - 0x634], eax
lea edx, [ebp - 0x584]
mov al, byte [ebp - 0x415]
call fcn.004c3e1c
push dword [ebp - 0x584]
push 0x4cd99c
push ebp
lea ecx, [ebp - 0x720]
lea eax, [ebp - 0x690]
mov dl, 1
call fcn.004c448c
pop ecx
mov eax, dword [ebp - 0x720]
lea edx, [ebp - 0x6f4]
call fcn.004c4be0
push dword [ebp - 0x6f4]
push 0x4cd9a8
lea eax, [ebp - 0x6e8]
mov edx, 4
call fcn.004035dc
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
cmp byte [ebp - 0x415], 0
jne 0x4cc296
mov eax, dword [ebp - 0x484]
mov eax, dword [eax + 4]
cmp dword [eax + 0x18], 0
jle 0x4cc296
mov eax, dword [0x66e8a8]
test byte [eax + 0xc], 0x80
jne 0x4cc296
mov edx, 0x4cd9b4
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
push ebp
lea ecx, [ebp - 0x6e8]
lea eax, [ebp - 0x690]
mov dl, 1
call fcn.004c448c
pop ecx
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004c4be0
mov edx, dword [ebp - 0x6f4]
lea ecx, [ebp - 0x6e8]
mov eax, 0x4cd9c4
call fcn.00655b64
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4cd9d4
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4cc3b1
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
lea edx, [ebp - 0x47c]
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov ecx, 0x28
call fcn.004023c8
mov edx, dword [0x66f93c]
lea eax, [ebp - 0x47c]
call fcn.00544158
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dx, word [eax]
mov word [ebp - 0x47c], dx
mov dx, word [eax + 2]
mov word [ebp - 0x47a], dx
mov dx, word [eax + 8]
mov word [ebp - 0x474], dx
mov dl, byte [eax + 0xe]
mov byte [ebp - 0x46e], dl
mov dx, word [eax + 0x10]
mov word [ebp - 0x46c], dx
mov ax, word [eax + 0x12]
mov word [ebp - 0x46a], ax
lea eax, [ebp - 0x6e8]
push eax
mov eax, dword [ebp - 0x584]
mov dword [ebp - 0x738], eax
mov byte [ebp - 0x734], 0xb
mov dword [ebp - 0x730], ebx
mov byte [ebp - 0x72c], 0
push ebp
lea edx, [ebp - 0x6e8]
lea eax, [ebp - 0x47c]
call fcn.004c4098
pop ecx
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004c4be0
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x728], eax
mov byte [ebp - 0x724], 0xb
lea edx, [ebp - 0x738]
mov eax, 0x4cd9f4
mov ecx, 2
call fcn.00655a28
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cc2ae
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4cc104
mov eax, dword [ebp - 0x484]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4cc620
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
mov eax, dword [ebp - 0x484]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ebx*4]
mov eax, dword [esi + 0x28]
cmp eax, 0x16
ja case.0x4cc40a.0
mov al, byte [eax + 0x4cc411]
jmp dword [eax*4 + 0x4cc428]
lea eax, [ebp - 0x584]
mov edx, 0x4cda08
call fcn.0040330c
jmp 0x4cc508
lea eax, [ebp - 0x584]
mov edx, 0x4cda1c
call fcn.0040330c
jmp 0x4cc508
lea eax, [ebp - 0x584]
mov edx, 0x4cda30
call fcn.0040330c
jmp 0x4cc508
lea eax, [ebp - 0x584]
mov edx, 0x4cda44
call fcn.0040330c
jmp 0x4cc508
lea eax, [ebp - 0x584]
mov edx, 0x4cda58
call fcn.0040330c
jmp 0x4cc508
mov eax, dword [esi + 0x28]
call fcn.00546b38
test al, al
je 0x4cc4f8
mov eax, dword [esi + 0x2c]
mov ecx, 3
cdq
idiv ecx
dec edx
je 0x4cc4c2
dec edx
je 0x4cc4d4
jmp 0x4cc4e6
lea eax, [ebp - 0x584]
mov edx, 0x4cda78
call fcn.0040330c
jmp 0x4cc508
lea eax, [ebp - 0x584]
mov edx, 0x4cda88
call fcn.0040330c
jmp 0x4cc508
lea eax, [ebp - 0x584]
mov edx, 0x4cda98
call fcn.0040330c
jmp 0x4cc508
lea eax, [ebp - 0x584]
mov edx, 0x4cdaa8
call fcn.0040330c
lea ecx, [ebp - 0x6e8]
mov eax, 0x4cdab0
mov edx, dword [ebp - 0x584]
call fcn.00655b64
mov edx, dword [ebp - 0x6e8]
lea eax, [ebp - 0x584]
call fcn.0040330c
push esi
lea edi, [ebp - 0x47c]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
pop esi
mov edx, dword [0x66f93c]
lea eax, [ebp - 0x47c]
call fcn.00544158
mov ax, word [esi + 2]
mov word [ebp - 0x47a], ax
mov ax, word [esi + 8]
mov word [ebp - 0x474], ax
mov al, byte [esi + 0xe]
mov byte [ebp - 0x46e], al
mov ax, word [esi + 0x10]
mov word [ebp - 0x46c], ax
mov ax, word [esi + 0x12]
mov word [ebp - 0x46a], ax
mov byte [ebp - 0x415], 0
lea eax, [ebp - 0x6e8]
push eax
mov dword [ebp - 0x748], ebx
mov byte [ebp - 0x744], 0
push ebp
lea edx, [ebp - 0x6f4]
lea eax, [ebp - 0x47c]
call fcn.004c4098
pop ecx
mov ecx, dword [ebp - 0x6f4]
lea eax, [ebp - 0x6e8]
mov edx, dword [ebp - 0x584]
call fcn.00403568
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004c4be0
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x740], eax
mov byte [ebp - 0x73c], 0xb
lea edx, [ebp - 0x748]
mov eax, 0x4cdac4
mov ecx, 1
call fcn.00655a28
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cc3e9
mov byte [ebp - 0x415], 0
lea eax, [ebp - 0x414]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d4]
mov esi, dword [eax + 4]
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4cc792
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
cmp ebx, dword [esi + 0x14]
je 0x4cc785
lea edx, [ebp - 0x690]
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov ecx, 0x60
call fcn.004023c8
mov eax, dword [ebp - 0x5d4]
lea edx, [eax + 8]
lea eax, [ebp - 0x690]
call fcn.00544094
mov eax, dword [ebp - 0x64c]
dec eax
sub eax, 2
jae 0x4cc6b4
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x68c], eax
lea eax, [ebp - 0x690]
call fcn.00544228
test al, al
je 0x4cc6d8
mov eax, dword [ebp - 0x5d4]
mov eax, dword [eax + 0x64]
mov edx, ebx
call fcn.0064e9dc
jmp 0x4cc785
cmp byte [ebp - 0x415], 0
jne 0x4cc6ee
lea eax, [ebp - 0x584]
call fcn.00403274
jmp 0x4cc6ff
lea edx, [ebp - 0x584]
mov al, byte [ebp - 0x415]
call fcn.004c3e1c
lea eax, [ebp - 0x6e8]
push eax
mov eax, dword [ebp - 0x584]
mov dword [ebp - 0x738], eax
mov byte [ebp - 0x734], 0xb
mov dword [ebp - 0x730], ebx
mov byte [ebp - 0x72c], 0
push ebp
lea ecx, [ebp - 0x6e8]
lea eax, [ebp - 0x690]
xor edx, edx
call fcn.004c448c
pop ecx
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004c4be0
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x728], eax
mov byte [ebp - 0x724], 0xb
lea edx, [ebp - 0x738]
mov eax, 0x4cdad0
mov ecx, 2
call fcn.00655a28
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cc660
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4cc633
mov edx, 0x4cdae4
mov eax, dword [ebp - 0x528]
call fcn.004c2260
mov dword [ebp - 0x52c], eax
mov ecx, 0x4cdaf4
mov edx, 0x4cdb1c
mov eax, dword [ebp - 0x52c]
call fcn.004c2044
mov ecx, 0x4cdb2c
mov edx, 0x4cdb38
mov eax, dword [ebp - 0x52c]
call fcn.004c2044
mov ecx, 0x4cdb48
mov edx, 0x4cdb58
mov eax, dword [ebp - 0x52c]
call fcn.004c2044
mov edx, 0x4cdb74
mov eax, dword [ebp - 0x52c]
call fcn.004c2260
mov dword [ebp - 0x5d8], eax
mov ecx, 0x4cdb88
mov edx, 0x4cdbb4
mov eax, dword [ebp - 0x5d8]
call fcn.004c2044
mov ecx, 0x4cdaf4
mov edx, 0x4cdbc8
mov eax, dword [ebp - 0x5d8]
call fcn.004c2044
mov edx, 0x4cdbdc
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx]
call fcn.004038bc
mov edx, 0x4cdbf0
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 4], 0
jne 0x4cc898
mov eax, dword [ebp - 0x5dc]
add eax, 0x24
mov edx, 0x4cdc00
call fcn.004038bc
jmp 0x4cc8af
mov eax, dword [ebp - 0x5dc]
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 4]
call fcn.004038bc
lea edx, [ebp - 0x6c4]
mov eax, dword [ebp - 0x5dc]
mov eax, dword [eax + 0x24]
call fcn.004ca0fc
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4cdc1c
mov eax, dword [ebp - 0x5dc]
call fcn.004c2074
mov ecx, 0x4cdc30
mov edx, 0x4cdc3c
mov eax, dword [ebp - 0x5dc]
call fcn.004c2044
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 8], 0
je 0x4cc91b
mov edx, 0x4cdc50
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 8]
call fcn.004038bc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 0xc], 0
je 0x4cc948
mov edx, 0x4cdc64
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 0xc]
call fcn.004038bc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 0x10], 0
je 0x4cc975
mov edx, 0x4cdc7c
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 0x10]
call fcn.004038bc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 0x24], 0
je 0x4cc9a2
mov edx, 0x4cdc94
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 0x24]
call fcn.004038bc
mov edx, 0x4cdca4
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
mov dword [ebp - 0x5e0], eax
mov ecx, 0x4cdb48
mov edx, 0x4cdcbc
mov eax, dword [ebp - 0x5e0]
call fcn.004c2044
lea eax, [ebp - 0x540]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 0x14]
call fcn.004034e4
cmp dword [ebp - 0x540], 0
jne 0x4cca0b
lea eax, [ebp - 0x6e8]
call fcn.0061d014
mov ecx, dword [ebp - 0x6e8]
lea eax, [ebp - 0x540]
mov edx, 0x4cdcc8
call fcn.00403568
mov eax, dword [ebp - 0x5e0]
add eax, 0x24
mov edx, dword [ebp - 0x540]
call fcn.00403a24
mov edx, 0x4cdcd8
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
add eax, 0x24
mov edx, dword [ebp - 0x4a0]
call fcn.00403a24
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 0x18], 0
je 0x4cca6a
mov edx, 0x4cdcec
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 0x18]
call fcn.004038bc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 0x1c], 0
je 0x4cca97
mov edx, 0x4cdd00
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 0x1c]
call fcn.004038bc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 0x20], 0
je 0x4ccae7
mov edx, 0x4cdd14
mov eax, dword [ebp - 0x5d8]
call fcn.004c2260
mov dword [ebp - 0x5e4], eax
mov ecx, 0x4cdd24
mov edx, 0x4cdd34
mov eax, dword [ebp - 0x5e4]
call fcn.004c2044
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax - 0xc]
mov ecx, dword [ecx + 0x20]
mov edx, 0x4cdd44
mov eax, dword [ebp - 0x5e4]
call fcn.004c2074
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 0x28], 0
je 0x4ccb0f
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax - 0xc]
mov ecx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x5d8]
add eax, 0x24
mov edx, 0x4cdd50
call fcn.00403b14
mov edx, 0x4cdd5c
mov eax, dword [ebp - 0x52c]
call fcn.004c2260
mov dword [ebp - 0x420], eax
mov edx, 0x4cdd70
mov eax, dword [ebp - 0x420]
call fcn.004c2260
mov dword [ebp - 0x5e8], eax
mov ecx, 0x4cdd80
mov edx, 0x4cdcbc
mov eax, dword [ebp - 0x5e8]
call fcn.004c2044
mov ecx, 0x4cdd8c
mov edx, 0x4cdd9c
mov eax, dword [ebp - 0x5e8]
call fcn.004c2044
mov ecx, 0x4cddac
mov edx, 0x4cddd0
mov eax, dword [ebp - 0x5e8]
call fcn.004c2044
mov edx, 0x4cdd70
mov eax, dword [ebp - 0x420]
call fcn.004c2260
mov dword [ebp - 0x5ec], eax
mov ecx, 0x4cdde4
mov edx, 0x4cdcbc
mov eax, dword [ebp - 0x5ec]
call fcn.004c2044
mov ecx, 0x4cddf4
mov edx, 0x4cdd9c
mov eax, dword [ebp - 0x5ec]
call fcn.004c2044
mov ecx, 0x4cde08
mov edx, 0x4cddd0
mov eax, dword [ebp - 0x5ec]
call fcn.004c2044
cmp dword [ebp - 0x44c], 0
je 0x4ccc3c
mov eax, dword [ebp - 0x44c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 0x3c], 0
je 0x4ccc3c
mov edx, 0x4cdd70
mov eax, dword [ebp - 0x420]
call fcn.004c2260
mov dword [ebp - 0x5f0], eax
mov ecx, 0x4cde1c
mov edx, 0x4cdcbc
mov eax, dword [ebp - 0x5f0]
call fcn.004c2044
mov ecx, 0x4cde30
mov edx, 0x4cdd9c
mov eax, dword [ebp - 0x5f0]
call fcn.004c2044
mov ecx, 0x4cde08
mov edx, 0x4cddd0
mov eax, dword [ebp - 0x5f0]
call fcn.004c2044
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
sub eax, 2
test eax, eax
jl 0x4ccd0e
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004c5118
pop ecx
test al, al
jne 0x4ccd01
mov edx, 0x4cdd70
mov eax, dword [ebp - 0x420]
call fcn.004c2260
mov dword [ebp - 0x5f4], eax
lea ecx, [ebp - 0x6f0]
mov edx, ebx
mov eax, dword [ebp - 0x430]
mov esi, dword [eax]
call dword [esi + 0x14]
mov eax, dword [ebp - 0x6f0]
lea edx, [ebp - 0x6ec]
call fcn.006551b8
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 0x4cde40
call fcn.00403b14
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4cdcbc
mov eax, dword [ebp - 0x5f4]
call fcn.004c2074
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + ebx*4]
mov edx, 0x4cdd9c
mov eax, dword [ebp - 0x5f4]
call fcn.004c2044
mov ecx, 0x4cde50
mov edx, 0x4cddd0
mov eax, dword [ebp - 0x5f4]
call fcn.004c2044
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4ccc59
mov eax, dword [ebp - 0x57c]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x4ccdd2
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
mov edx, 0x4cdd70
mov eax, dword [ebp - 0x420]
call fcn.004c2260
mov esi, eax
lea ecx, [ebp - 0x6e8]
lea edx, [ebx + 1]
mov eax, 0x4cde68
call fcn.00655c8c
mov ecx, dword [ebp - 0x6e8]
mov edx, 0x4cdcbc
mov eax, esi
call fcn.004c2044
lea edx, [ebp - 0x6f0]
mov eax, dword [ebp - 0x57c]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + ebx*4]
call fcn.006552dc
mov eax, dword [ebp - 0x6f0]
lea ecx, [ebp - 0x6ec]
mov dx, 0x20
call fcn.00653b64
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 0x4cde78
call fcn.00403b14
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4cdd9c
mov eax, esi
call fcn.004c2074
mov ecx, 0x4cde90
mov edx, 0x4cddd0
mov eax, esi
call fcn.004c2044
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4ccd29
xor eax, eax
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x524]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
sub eax, 2
test eax, eax
jl 0x4cce39
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004c5118
pop ecx
test al, al
jne 0x4cce30
push ebp
mov eax, ebx
call fcn.004c977c
pop ecx
mov esi, eax
mov eax, dword [ebp + 8]
cmp esi, dword [eax]
jle 0x4cce28
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov eax, dword [ebp - 0x524]
add dword [eax], esi
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cce04
mov eax, dword [ebp - 0x448]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x4cceac
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
lea eax, [ebp - 0x6e8]
push eax
mov dword [ebp - 0x748], ebx
mov byte [ebp - 0x744], 0
mov eax, dword [ebp - 0x448]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x740], eax
mov byte [ebp - 0x73c], 0xb
lea edx, [ebp - 0x748]
mov eax, 0x4cdeac
mov ecx, 1
call fcn.00655a28
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cce50
mov eax, dword [ebp - 0x488]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x4ccf1f
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
lea eax, [ebp - 0x6e8]
push eax
mov dword [ebp - 0x748], ebx
mov byte [ebp - 0x744], 0
mov eax, dword [ebp - 0x488]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x740], eax
mov byte [ebp - 0x73c], 0xb
lea edx, [ebp - 0x748]
mov eax, 0x4cdeb8
mov ecx, 1
call fcn.00655a28
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4ccec3
lea edx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
call fcn.0064efd4
mov eax, dword [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6c4]
mov ecx, 0x4cdec8
mov edx, dword [ebp - 4]
call fcn.00403b14
mov eax, dword [ebp - 0x6c4]
pop edx
call fcn.0061c950
cmp dword [ebp - 0x44c], 0
je 0x4ccfd0
mov eax, dword [ebp - 0x44c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 0x3c], 0
je 0x4ccfd0
mov eax, dword [ebp - 0x53c]
mov edx, dword [eax]
call dword [edx + 0x34]
mov edx, 0x4cd950
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4cdeec
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
call fcn.0064efd4
mov eax, dword [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6c4]
mov ecx, 0x4cdf20
mov edx, dword [ebp - 4]
call fcn.00403b14
mov eax, dword [ebp - 0x6c4]
pop edx
call fcn.0061c950
mov eax, dword [ebp - 0x53c]
call fcn.004028c0
mov eax, dword [ebp - 0x488]
call fcn.004028c0
mov eax, dword [ebp - 0x448]
call fcn.004028c0
cmp dword [ebp - 0x44c], 0
je 0x4cd044
mov edx, 0x4cdb74
mov eax, dword [ebp - 0x52c]
call fcn.004c1f1c
mov edx, 0x4cdd14
call fcn.004c2260
mov dword [ebp - 0x5f8], eax
mov ecx, 0x4cdf44
mov edx, 0x4cdd34
mov eax, dword [ebp - 0x5f8]
call fcn.004c2044
mov ecx, 0x4cdf44
mov edx, 0x4cdd44
mov eax, dword [ebp - 0x5f8]
call fcn.004c2044
mov edx, 0x4cdf54
mov eax, dword [ebp - 0x52c]
call fcn.004c2260
mov dword [ebp - 0x5fc], eax
mov ecx, 0x4cdd80
mov edx, 0x4cdf64
mov eax, dword [ebp - 0x5fc]
call fcn.004c2044
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
sub eax, 2
test eax, eax
jl 0x4cd13e
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004c5118
pop ecx
test al, al
jne 0x4cd131
mov edx, 0x4cdf70
mov eax, dword [ebp - 0x5fc]
call fcn.004c2260
mov dword [ebp - 0x600], eax
lea ecx, [ebp - 0x6f0]
mov edx, ebx
mov eax, dword [ebp - 0x430]
mov esi, dword [eax]
call dword [esi + 0x14]
mov eax, dword [ebp - 0x6f0]
lea edx, [ebp - 0x6ec]
call fcn.006551b8
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 0x4cde40
call fcn.00403b14
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4cdf80
mov eax, dword [ebp - 0x600]
call fcn.004c2074
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + ebx*4]
mov edx, dword [ebp - 0x450]
call fcn.0040362c
jne 0x4cd131
mov ecx, 0x4cdf90
mov edx, 0x4cdf9c
mov eax, dword [ebp - 0x600]
call fcn.004c2044
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4cd08c
cmp dword [ebp - 0x450], 0
jne 0x4cd154
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0x10], 0
je 0x4cd2b3
mov edx, 0x4cdfac
mov eax, dword [ebp - 0x52c]
call fcn.004c2260
mov dword [ebp - 0x604], eax
cmp dword [ebp - 0x450], 0
je 0x4cd1c9
mov edx, 0x4cdfbc
mov eax, dword [ebp - 0x604]
call fcn.004c2260
mov dword [ebp - 0x608], eax
mov ecx, 0x4cdf44
mov edx, 0x4cdfd0
mov eax, dword [ebp - 0x608]
call fcn.004c2044
mov ecx, 0x4cdfe0
mov edx, 0x4cdff0
mov eax, dword [ebp - 0x608]
call fcn.004c2044
mov ecx, dword [ebp - 0x450]
mov edx, 0x4cdd9c
mov eax, dword [ebp - 0x608]
call fcn.004c2044
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0x10], 0
je 0x4cd23e
mov edx, 0x4cdfbc
mov eax, dword [ebp - 0x604]
call fcn.004c2260
mov dword [ebp - 0x60c], eax
mov ecx, 0x4cdf64
mov edx, 0x4cdfd0
mov eax, dword [ebp - 0x60c]
call fcn.004c2044
mov ecx, 0x4ce000
mov edx, 0x4cdff0
mov eax, dword [ebp - 0x60c]
call fcn.004c2044
push ebp
lea ecx, [ebp - 0x6e8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0x10]
or edx, 0xffffffff
call fcn.004c51c4
pop ecx
mov ecx, dword [ebp - 0x6e8]
mov edx, 0x4cdd9c
mov eax, dword [ebp - 0x60c]
call fcn.004c2044
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0x14], 0
je 0x4cd2b3
mov edx, 0x4cdfbc
mov eax, dword [ebp - 0x604]
call fcn.004c2260
mov dword [ebp - 0x610], eax
mov ecx, 0x4ce01c
mov edx, 0x4cdfd0
mov eax, dword [ebp - 0x610]
call fcn.004c2044
mov ecx, 0x4ce02c
mov edx, 0x4cdff0
mov eax, dword [ebp - 0x610]
call fcn.004c2044
push ebp
lea ecx, [ebp - 0x6e8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0x14]
or edx, 0xffffffff
call fcn.004c51c4
pop ecx
mov ecx, dword [ebp - 0x6e8]
mov edx, 0x4cdd9c
mov eax, dword [ebp - 0x610]
call fcn.004c2044
lea eax, [ebp - 0x6c4]
mov ecx, 0x4ce03c
mov edx, dword [ebp - 4]
call fcn.00403b14
mov eax, dword [ebp - 0x6c4]
call fcn.006219e4
lea eax, [ebp - 0x6c4]
mov ecx, 0x4ce054
mov edx, dword [ebp - 4]
call fcn.00403b14
mov eax, dword [ebp - 0x6c4]
mov edx, 0x4ce08c
call fcn.0061c950
mov eax, dword [0x66ea40]
mov byte [eax], 1
mov edx, 0x4cdd80
mov eax, dword [ebp - 0x528]
call fcn.004c2260
mov dword [ebp - 0x614], eax
mov ecx, 0x4ce170
mov edx, 0x4cdb1c
mov eax, dword [ebp - 0x614]
call fcn.004c2044
mov ecx, dword [ebp - 0x4a0]
mov edx, 0x4ce1a0
mov eax, dword [ebp - 0x614]
call fcn.004c2044
mov ecx, 0x4ce1b4
mov edx, 0x4cdb38
mov eax, dword [ebp - 0x614]
call fcn.004c2044
mov edx, 0x4ce1c4
mov eax, dword [ebp - 0x614]
call fcn.004c2260
mov dword [ebp - 0x618], eax
mov edx, 0x4cdd14
mov eax, dword [ebp - 0x618]
call fcn.004c2260
mov dword [ebp - 0x61c], eax
mov ecx, 0x4ce1d4
mov edx, 0x4cdd34
mov eax, dword [ebp - 0x61c]
call fcn.004c2044
mov ecx, dword [ebp - 0x540]
mov edx, 0x4cdd44
mov eax, dword [ebp - 0x61c]
call fcn.004c2044
mov edx, 0x4cdd14
mov eax, dword [ebp - 0x618]
call fcn.004c2260
mov dword [ebp - 0x560], eax
mov edx, 0x4cdd14
mov eax, dword [ebp - 0x618]
call fcn.004c2260
mov dword [ebp - 0x620], eax
mov ecx, 0x4ce1e4
mov edx, 0x4cdd34
mov eax, dword [ebp - 0x620]
call fcn.004c2044
xor ecx, ecx
mov edx, 0x4cdd44
mov eax, dword [ebp - 0x620]
call fcn.004c20a4
mov edx, 0x4cdd14
mov eax, dword [ebp - 0x618]
call fcn.004c2260
mov dword [ebp - 0x624], eax
mov ecx, 0x4ce200
mov edx, 0x4cdd34
mov eax, dword [ebp - 0x624]
call fcn.004c2044
xor ecx, ecx
mov edx, 0x4cdd44
mov eax, dword [ebp - 0x624]
call fcn.004c20a4
mov edx, 0x4ce21c
mov eax, dword [ebp - 0x614]
call fcn.004c2260
mov edx, 0x4ce01c
call fcn.004c2260
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx]
call fcn.004038bc
xor eax, eax
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x510], 1
mov dword [ebp - 0x50c], 1
mov edx, 0x4ce230
mov eax, dword [ebp - 0x614]
call fcn.004c2260
mov dword [ebp - 0x55c], eax
jmp 0x4cd4a9
push ebp
mov edx, 1
mov eax, dword [ebp - 0x55c]
call fcn.004c9e7c
pop ecx
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
dec eax
cmp eax, dword [ebp - 0x508]
jg 0x4cd497
mov ecx, 0x4ce240
mov edx, 0x4cdd34
mov eax, dword [ebp - 0x560]
call fcn.004c2044
mov ecx, dword [ebp - 0x50c]
mov edx, 0x4cdd44
mov eax, dword [ebp - 0x560]
call fcn.004c20a4
mov eax, dword [ebp - 0x614]
add eax, 0x34
mov ecx, 0x4ce250
mov edx, dword [ebp - 4]
call fcn.00403b14
push 0
xor ecx, ecx
mov edx, 0x4ce270
mov eax, dword [ebp - 0x614]
call fcn.004c2824
mov eax, dword [ebp - 0x52c]
add eax, 0x34
mov ecx, 0x4ce304
mov edx, dword [ebp - 4]
call fcn.00403b14
push 0
xor ecx, ecx
mov edx, 0x4ce32c
mov eax, dword [ebp - 0x52c]
call fcn.004c2824
mov eax, dword [0x66ea40]
mov byte [eax], 0
mov eax, dword [ebp - 0x42c]
call fcn.0064edac
mov eax, dword [ebp - 0x484]
call fcn.004028c0
mov byte [ebp - 0x415], 9
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
mov ebx, eax
mov eax, dword [ebx]
call fcn.004028c0
mov eax, dword [ebx + 4]
call fcn.004028c0
mov eax, dword [ebx + 0x64]
call fcn.0064edac
dec byte [ebp - 0x415]
sub dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xff
jne 0x4cd568
mov eax, dword [ebp - 0x480]
call fcn.0064edac
mov eax, dword [ebp - 0x434]
call fcn.0064edac
mov eax, dword [ebp - 0x514]
call fcn.0064edac
mov eax, dword [ebp - 0x4a4]
call fcn.004028c0
mov eax, dword [ebp - 0x430]
call fcn.004028c0
mov eax, dword [ebp - 0x564]
call fcn.0064edac
mov eax, dword [0x6701a8]
mov dl, byte [ebp - 0x555]
mov byte [eax], dl
mov eax, dword [ebp - 0x454]
call fcn.004028c0
mov eax, dword [0x66f840]
mov eax, dword [eax]
call fcn.004028c0
mov eax, dword [0x6702f4]
mov eax, dword [eax]
call fcn.004028c0
mov eax, dword [ebp - 0x528]
call fcn.004c291c
mov eax, dword [ebp - 0x530]
call fcn.0064edac
mov eax, dword [ebp - 0x57c]
call fcn.004028c0
mov eax, dword [ebp - 0x578]
call fcn.004028c0
mov eax, dword [ebp - 0x570]
call fcn.004028c0
mov eax, dword [ebp - 0x41c]
call fcn.0064ecc8
mov eax, dword [ebp - 0x41c]
call fcn.0064edac
mov eax, dword [0x66e92c]
mov edx, 0x4ce35c
call fcn.004032c8
mov eax, dword [ebp + 0xc]
mov edx, dword [eax - 0x18]
mov eax, dword [ebp - 4]
call fcn.00437b0c
mov eax, dword [0x66e92c]
call fcn.00403274
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00622138
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cd72a
lea eax, [ebp - 0x720]
call fcn.00403274
lea eax, [ebp - 0x6f4]
call fcn.00403274
lea eax, [ebp - 0x6f0]
mov edx, 2
call fcn.00403898
lea eax, [ebp - 0x6e8]
call fcn.00403274
lea eax, [ebp - 0x6c4]
call fcn.00403880
lea eax, [ebp - 0x588]
mov edx, 2
call fcn.00403298
lea eax, [ebp - 0x580]
call fcn.00403880
lea eax, [ebp - 0x544]
mov edx, 2
call fcn.00403298
lea eax, [ebp - 0x4a0]
call fcn.00403274
lea eax, [ebp - 0x450]
call fcn.00403274
lea eax, [ebp - 4]
call fcn.00403880
ret