Function at 0x4bcb70
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 0x4bcb79
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 0x4bf8f4
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
call fcn.0061caec
call fcn.004b3de0
mov dword [ebp - 0x528], eax
call fcn.0064d6f4
mov edx, dword [0x669b68]
mov dword [edx], eax
call fcn.0064d744
mov edx, dword [0x669728]
mov dword [edx], eax
call fcn.0064d744
mov dword [ebp - 0x454], eax
lea eax, [ebp - 0x6c4]
mov ecx, 0x4bf90c
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
call fcn.006216bc
mov eax, dword [0x669aec]
mov al, byte [eax]
mov byte [ebp - 0x555], al
mov eax, dword [0x669aec]
mov byte [eax], 0x2e
xor eax, eax
mov dword [ebp - 0x43c], eax
xor eax, eax
mov dword [ebp - 0x438], eax
call fcn.0064dfa0
mov dword [ebp - 0x41c], eax
call fcn.0064d744
mov dword [ebp - 0x570], eax
call fcn.0064d744
mov dword [ebp - 0x578], eax
call fcn.0064d744
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x57c]
mov byte [eax + 0x28], 1
call fcn.0064dfa0
mov dword [ebp - 0x530], eax
call fcn.0064dfa0
mov dword [ebp - 0x564], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005b82f4
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005f4c9c
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 [0x6697ec]
mov dword [ebp - 0x628], eax
mov eax, dword [0x66976c]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x628]
movzx eax, byte [eax]
cmp eax, dword [ebp - 0x54c]
jne 0x4bccea
mov eax, dword [ebp - 0x62c]
mov ax, word [eax]
mov edx, dword [ebp - 0x4a0]
mov word [edx], ax
jmp 0x4bccfa
add dword [ebp - 0x62c], 2
inc dword [ebp - 0x628]
dec ebx
jne 0x4bccc5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005de8cc
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 0x4bcd35
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 0x4bcd1a
xor eax, eax
mov dword [ebp - 0x538], eax
xor eax, eax
mov dword [ebp - 0x534], eax
call fcn.0064d6f4
mov dword [ebp - 0x430], eax
call fcn.0064d744
mov dword [ebp - 0x4a4], eax
call fcn.0064dfa0
mov dword [ebp - 0x514], eax
call fcn.0064dfa0
mov dword [ebp - 0x434], eax
call fcn.0064dfa0
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 0x4bcde8
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.0054cf40
mov dword [ebp - 0x598], eax
mov eax, dword [ebp - 0x598]
call fcn.00625130
test al, al
je 0x4bcde2
mov eax, dword [ebp - 0x598]
mov edx, dword [eax + 0xc]
dec edx
mov eax, dword [ebp - 0x428]
call fcn.00652c54
mov dword [ebp - 0x428], eax
dec ebx
cmp ebx, 0xffffffff
jne 0x4bcd9b
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.0055e08c
mov dword [ebp - 0x548], eax
cmp ebx, dword [ebp - 0x548]
jge 0x4bcfd0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005b85b8
mov esi, eax
push ebp
mov edx, dword [ebp - 0x564]
mov eax, ebx
call fcn.004bc260
pop ecx
mov byte [ebp - 0x591], al
inc ebx
cmp byte [ebp - 0x591], 0
jne 0x4bcf25
jmp 0x4bce59
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005b85b8
add esi, eax
inc ebx
cmp ebx, dword [ebp - 0x548]
jge 0x4bced9
push ebp
mov eax, ebx
call fcn.004b7148
pop ecx
cmp eax, 9
jne 0x4bced9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005b85b8
add eax, esi
cmp eax, dword [ebp - 0x518]
jle 0x4bceb9
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 0x4bced9
lea ecx, [ebp - 0x6e4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005ec020
cmp ebx, dword [ebp - 0x6e4]
jle 0x4bced9
push ebp
xor edx, edx
mov eax, ebx
call fcn.004bc260
pop ecx
test al, al
jne 0x4bced9
push ebp
mov eax, ebx
call fcn.004bc574
pop ecx
test al, al
je 0x4bce49
cmp ebx, dword [ebp - 0x548]
jge 0x4bcf25
mov eax, ebx
sub eax, edi
dec eax
jne 0x4bcf25
push ebp
mov eax, edi
call fcn.004b7244
pop ecx
test al, al
je 0x4bcf25
push ebp
mov edx, dword [ebp - 0x564]
mov eax, ebx
call fcn.004bc260
pop ecx
test al, al
je 0x4bcf25
mov edx, ebx
mov eax, dword [ebp - 0x434]
call fcn.0064e1f0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005b85b8
add esi, eax
inc ebx
lea edx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x51c]
call fcn.004bc70c
mov edx, dword [ebp - 0x6e8]
mov ecx, edi
mov eax, dword [ebp - 0x430]
call fcn.0064ed44
mov edx, esi
mov eax, dword [ebp - 0x514]
call fcn.0064e1f0
inc dword [ebp - 0x51c]
cmp byte [ebp - 0x591], 0
je 0x4bcf81
mov edx, edi
mov eax, dword [ebp - 0x434]
call fcn.0064e1f0
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
jmp 0x4bcfc2
push ebp
mov eax, edi
call fcn.004b7148
pop ecx
cmp eax, 9
jne 0x4bcf9e
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x30]
jmp 0x4bcfc2
lea ecx, [ebp - 0x6c4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, edi
call fcn.005bc5c0
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 0x4bce15
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.004b5d50
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 0x4bd046
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 0x4bd040
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 0x4bd046
dec ebx
cmp ebx, 0xffffffff
jne 0x4bd002
mov eax, dword [ebp - 0x59c]
call fcn.0064e5c0
mov eax, dword [ebp - 0x430]
mov ebx, dword [eax + 0x24]
dec ebx
cmp ebx, 1
jl 0x4bd10a
push ebp
mov eax, ebx
call fcn.004b7310
pop ecx
test al, al
jne 0x4bd101
push ebp
mov eax, ebx
dec eax
call fcn.004b7310
pop ecx
test al, al
jne 0x4bd101
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.004b7148
pop ecx
mov dword [ebp - 0x550], eax
push ebp
mov eax, esi
call fcn.004b7148
pop ecx
mov dword [ebp - 0x554], eax
cmp dword [ebp - 0x550], 9
je 0x4bd101
cmp dword [ebp - 0x554], 9
je 0x4bd101
mov eax, dword [ebp - 0x550]
cmp eax, dword [ebp - 0x554]
jge 0x4bd101
push ebp
mov eax, esi
call fcn.004bc574
pop ecx
test al, al
jne 0x4bd101
mov edx, esi
mov eax, dword [ebp - 0x480]
call fcn.0064e1f0
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x14]
lea eax, [eax + ebx*4]
mov edx, 0x4bf91c
call fcn.004032c8
dec ebx
test ebx, ebx
jne 0x4bd064
push ebp
call fcn.004bc730
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 0x4bd1c6
push ebp
mov eax, ebx
call fcn.004b7310
pop ecx
test al, al
jne 0x4bd15b
push ebp
mov edx, ebx
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.004bc574
pop ecx
test al, al
jne 0x4bd15b
mov eax, dword [ebp - 0x520]
inc dword [eax]
push ebp
mov eax, ebx
call fcn.004b72ec
pop ecx
test al, al
je 0x4bd1bd
mov esi, ebx
dec esi
jmp 0x4bd16e
dec esi
push ebp
mov eax, esi
call fcn.004b72ec
pop ecx
test al, al
jne 0x4bd16d
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, 0x4bf920
call fcn.00655344
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 0x4bd12e
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 0x4bd338
push ebp
xor eax, eax
call fcn.004b7244
pop ecx
test al, al
jne 0x4bd338
mov eax, dword [ebp - 0x430]
cmp dword [eax + 0x24], 1
jne 0x4bd219
mov eax, dword [ebp - 0x5a4]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx]
call fcn.004038bc
jmp 0x4bd338
mov eax, dword [ebp - 0x54c]
add eax, 0xfffffff9
cmp eax, 0x16
ja case.0x4bd231.7
mov al, byte [eax + 0x4bd238]
jmp dword [eax*4 + 0x4bd24f]
lea eax, [ebp - 0x588]
mov edx, 0x4bf930
call fcn.0040330c
jmp 0x4bd316
lea eax, [ebp - 0x588]
mov edx, 0x4bf944
call fcn.0040330c
jmp 0x4bd316
lea eax, [ebp - 0x588]
mov edx, 0x4bf958
call fcn.0040330c
jmp 0x4bd316
lea eax, [ebp - 0x588]
mov edx, 0x4bf96c
call fcn.0040330c
jmp 0x4bd316
lea eax, [ebp - 0x588]
mov edx, 0x4bf984
call fcn.0040330c
jmp 0x4bd316
lea eax, [ebp - 0x588]
mov edx, 0x4bf998
call fcn.0040330c
jmp 0x4bd316
lea eax, [ebp - 0x588]
mov edx, 0x4bf9b4
call fcn.0040330c
jmp 0x4bd316
lea eax, [ebp - 0x588]
mov edx, 0x4bf9cc
call fcn.0040330c
jmp 0x4bd316
lea eax, [ebp - 0x588]
mov edx, 0x4bf9e0
call fcn.0040330c
lea edx, [ebp - 0x6c4]
mov eax, dword [ebp - 0x588]
call fcn.0065432c
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 0x4bd4fb
mov ebx, edi
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 2
call fcn.0055e0b0
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x51c], 1
cmp ebx, dword [ebp - 0x548]
jg 0x4bd4eb
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005b85b8
mov esi, eax
inc ebx
jmp 0x4bd3b9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005b85b8
add esi, eax
inc ebx
cmp ebx, dword [ebp - 0x548]
jg 0x4bd3d8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005b85b8
add eax, esi
cmp eax, dword [ebp - 0x518]
jle 0x4bd3a9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 1
call fcn.0055e08c
cmp edi, eax
jne 0x4bd4a1
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 0x4bd439
inc eax
mov dword [ebp - 0x5a8], eax
push ebp
mov eax, esi
call fcn.004b7148
pop ecx
cmp eax, 9
jne 0x4bd430
mov byte [ebp - 0x592], 0
jmp 0x4bd439
inc esi
dec dword [ebp - 0x5a8]
jne 0x4bd419
cmp byte [ebp - 0x592], 0
je 0x4bd470
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 0x4bd47d
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov ecx, edi
mov edx, 0x4bf9f4
mov eax, dword [ebp - 0x430]
call fcn.0064ed44
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
dec eax
mov dword [ebp - 0x490], eax
jmp 0x4bd4d7
lea ecx, [ebp - 0x6e8]
mov eax, 0x4bfa00
mov edx, dword [ebp - 0x51c]
call fcn.00655344
mov edx, dword [ebp - 0x6e8]
mov ecx, edi
mov eax, dword [ebp - 0x430]
call fcn.0064ed44
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 0x4bd397
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.0055e0b0
mov ecx, eax
inc ecx
xor edx, edx
mov eax, dword [ebp - 0x430]
call fcn.0064ed44
lea eax, [ebp - 0x47c]
push eax
lea edx, [ebp - 0x6e4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005c0dc4
lea ecx, [ebp - 0x6e4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
xor edx, edx
call fcn.005c01c4
cmp word [ebp - 0x476], 1
jne 0x4bd558
cmp word [ebp - 0x478], 0xf0
je 0x4bd55c
xor eax, eax
jmp 0x4bd55e
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 [0x614b48]
call fcn.00626694
mov dword [esi], eax
mov ecx, 0x60
mov dl, 1
mov eax, dword [0x614b48]
call fcn.00626694
mov dword [esi + 4], eax
call fcn.0064dfa0
mov dword [esi + 0x64], eax
dec ebx
cmp ebx, 0xffffffff
jne 0x4bd569
mov ecx, 0x30
mov dl, 1
mov eax, dword [0x614b48]
call fcn.00626694
mov dword [ebp - 0x484], eax
call fcn.0064dfa0
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 2
call fcn.0055e0b0
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 0x4bd8da
mov eax, dword [0x6690d8]
test byte [eax + 0xc], 0x80
jne 0x4bd8da
mov ebx, dword [ebp - 0x548]
cmp ebx, 0
jl 0x4bd672
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 0x4bd66c
mov eax, dword [ebp - 0x5ac]
mov eax, dword [eax + 0x37]
xor edx, edx
call fcn.0055c30c
test al, al
je 0x4bd66c
mov eax, dword [ebp - 0x5ac]
mov eax, dword [eax + 0x37]
cmp dword [eax + 0x14], 1
jne 0x4bd66c
mov eax, dword [ebp - 0x5ac]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.0064e208
dec ebx
cmp ebx, 0xffffffff
jne 0x4bd611
mov eax, dword [ebp - 0x42c]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x4bd70b
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 0x4bd6ad
sub eax, 0x11
jne 0x4bd6f4
lea eax, [ebp - 0x6e8]
mov edx, dword [ebp - 0x5b0]
mov edx, dword [edx + 0x94]
call fcn.004034e4
mov eax, dword [ebp - 0x6e8]
mov edx, 0x4bfa18
call fcn.0040362c
jne 0x4bd6e5
mov eax, dword [ebp - 0x5b0]
cmp byte [eax + 0x91], 0
je 0x4bd701
mov edx, ebx
mov eax, dword [ebp - 0x42c]
call fcn.0064e29c
jmp 0x4bd701
mov edx, ebx
mov eax, dword [ebp - 0x42c]
call fcn.0064e29c
dec ebx
cmp ebx, 0xffffffff
jne 0x4bd685
mov eax, dword [ebp - 0x42c]
cmp dword [eax + 0x18], 0
jle 0x4bd7fa
mov ebx, dword [ebp - 0x548]
cmp ebx, 0
jl 0x4bd7fa
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 0x4bd7f0
mov eax, dword [ebp - 0x5b4]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.0064e36c
test al, al
je 0x4bd7f0
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 0x4bd7dc
mov eax, dword [ebp - 0x5b4]
cmp word [eax + 0x1c], 0
jge 0x4bd7dc
mov eax, dword [ebp - 0x5b4]
mov eax, dword [eax + 0x37]
cmp dword [eax + 0x14], 1
jne 0x4bd7dc
test ebx, ebx
jle 0x4bd7f0
mov eax, dword [ebp - 0x5b4]
cmp dword [eax + 0x7c], 1
jle 0x4bd7f0
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 0x4bd7f0
mov eax, dword [ebp - 0x5b4]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.0064e2d8
dec ebx
cmp ebx, 0xffffffff
jne 0x4bd72a
mov eax, dword [ebp - 0x548]
test eax, eax
jl 0x4bd8da
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004b71c0
pop ecx
test al, al
je 0x4bd8cd
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.004b60b4
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.006266d0
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4bd811
mov eax, dword [ebp - 0x548]
test eax, eax
jl 0x4bdca1
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.004b6084
mov edx, ebx
mov eax, dword [ebp - 0x434]
call fcn.0064e36c
test al, al
je 0x4bd94c
mov word [ebp - 0x46c], 0
mov word [ebp - 0x46a], 0
mov byte [ebp - 0x472], 1
jmp 0x4bd995
cmp word [ebp - 0x46c], 0xffec
jne 0x4bd97f
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.0055e038
mov edx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.0055e08c
cmp ebx, eax
jne 0x4bd97f
mov word [ebp - 0x46c], 0
jmp 0x4bd98a
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.004b602c
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.006266d0
cmp dword [edi + 0x37], 0
je 0x4bda79
push ebp
mov eax, ebx
call fcn.004b71c0
pop ecx
test al, al
jne 0x4bda79
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 0x59
call fcn.0055f6b0
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.005c0544
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.0055f764
mov eax, dword [edi + 0x48]
call fcn.0064d9a0
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.00626d44
dec esi
sub dword [ebp - 0x630], 4
cmp esi, 0xffffffff
jne 0x4bda33
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.0064dcf0
and word [edi + 0xc], 0xfffd
jmp 0x4bda81
xor eax, eax
mov dword [ebp - 0x48c], eax
mov esi, dword [edi + 0x48]
mov eax, edi
call fcn.0054bbd8
xor eax, eax
mov dword [ebp - 0x444], eax
xor eax, eax
mov dword [ebp - 0x504], eax
lea eax, [ebp - 0x500]
call fcn.0053e6dc
push ebp
mov edx, ebx
mov eax, dword [ebp - 0x4c4]
call fcn.004b5f60
pop ecx
mov dword [ebp - 0x4c4], eax
mov byte [ebp - 0x593], 0
jmp 0x4bdc52
mov eax, dword [esi + 4]
add eax, dword [ebp - 0x444]
cmp word [eax], 0
jne 0x4bdc45
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 0x4bdb8d
cmp byte [ebp - 0x593], 0
je 0x4bdb14
mov eax, dword [ebp - 0x5c0]
cmp byte [eax], 0x14
je 0x4bdc3c
cmp dword [ebp - 0x504], 0
jle 0x4bdb2e
push ebp
mov eax, ebx
call fcn.004bbf88
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 0x4bdb6f
push ebp
mov eax, dword [ebp - 0x5c0]
mov eax, dword [eax + 1]
mov edx, ebx
call fcn.004b5f60
pop ecx
mov dword [ebp - 0x4c4], eax
jmp 0x4bdc3c
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 0x4bdc3c
mov eax, dword [ebp - 0x5c0]
mov al, byte [eax]
add al, 0xe9
sub al, 5
jae 0x4bdba6
inc dword [ebp - 0x504]
jmp 0x4bdc3c
mov eax, dword [ebp - 0x5c0]
cmp byte [eax], 0x1c
jne 0x4bdc1b
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 0x4bdbd3
sub al, 5
je 0x4bdc12
jmp 0x4bdc3c
mov eax, dword [ebp - 0x5c4]
test byte [eax + 7], 1
je 0x4bdc3c
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 0x4bdc3c
mov byte [ebp - 0x593], 1
jmp 0x4bdc3c
mov eax, dword [ebp - 0x5c0]
cmp byte [eax], 0x1d
jne 0x4bdc3c
mov eax, dword [ebp - 0x5c0]
mov eax, dword [eax + 1]
cmp byte [eax + 4], 8
jne 0x4bdc3c
mov byte [ebp - 0x593], 0
add dword [ebp - 0x444], 9
jmp 0x4bdc52
inc dword [ebp - 0x504]
add dword [ebp - 0x444], 2
mov eax, dword [esi + 8]
cmp eax, dword [ebp - 0x444]
jg 0x4bdac7
cmp dword [ebp - 0x504], 0
jle 0x4bdc73
push ebp
mov eax, ebx
call fcn.004bbf88
pop ecx
cmp dword [ebp - 0x48c], 0
je 0x4bdc94
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 0x4bd8f1
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 0x4bdd92
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 0x4bdd0f
mov eax, dword [ebp - 0x568]
cmp dword [eax + 0x10], 0
jne 0x4bdd0f
mov eax, dword [ebp - 0x568]
cmp dword [eax + 0x40], 0xff000000
je 0x4bdd7a
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.0064e25c
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 0x4bdcb4
mov eax, dword [0x669208]
cmp byte [eax + 0x2e], 2
jne 0x4be04b
mov edx, dword [ebp - 0x578]
mov eax, dword [ebp - 0x570]
call fcn.00627488
lea edx, [ebp - 0x6c4]
mov eax, dword [0x669208]
mov eax, dword [eax + 0x2f]
call fcn.00619840
mov eax, dword [ebp - 0x6c4]
call fcn.0064d758
mov dword [ebp - 0x574], eax
mov dl, 1
mov eax, dword [ebp - 0x574]
call fcn.0064f88c
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 0x4be026
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 0x4be019
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 0x4bde93
dec esi
test esi, esi
jle 0x4bdfef
mov eax, dword [ebp - 0x570]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + esi*4 - 4]
mov eax, dword [ebp - 0x580]
call fcn.006537d4
test eax, eax
je 0x4bde92
jmp 0x4bdfef
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 0x4bdfee
mov edx, esi
mov eax, dword [ebp - 0x530]
call fcn.0064e36c
test al, al
jne 0x4be019
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 0x4be019
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 0x4bdfdf
lea eax, [ebp - 0x6c4]
mov ecx, 0x4bfa20
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
call fcn.006216bc
push 0
push dword [ebp - 4]
push 0x4bfa38
lea edx, [ebp - 0x6f0]
mov eax, dword [ebp - 0x5d0]
mov eax, dword [eax]
call fcn.00654994
mov eax, dword [ebp - 0x6f0]
lea ecx, [ebp - 0x6ec]
mov dx, 0x20
call fcn.00653270
push dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 3
call fcn.00403b88
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.0064e1f0
jmp 0x4be019
inc esi
mov eax, dword [ebp - 0x570]
cmp esi, dword [eax + 0x24]
jge 0x4be019
mov eax, dword [ebp - 0x570]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x580]
call fcn.006537d4
test eax, eax
je 0x4bdebc
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4bde30
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4bde10
mov eax, dword [ebp - 0x574]
call fcn.004028c0
call fcn.0064d6f4
mov dword [ebp - 0x448], eax
call fcn.0064d6f4
mov dword [ebp - 0x488], eax
call fcn.0064d6f4
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x530]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4be1e5
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 0x4bfa58
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 0x4bfa7c
lea eax, [ebp - 0x544]
mov edx, 3
call fcn.004035dc
test byte [ebp - 0x58c], 2
jne 0x4be113
lea eax, [ebp - 0x544]
mov edx, 0x4bfa94
call fcn.00403524
jmp 0x4be123
lea eax, [ebp - 0x544]
mov edx, 0x4bfaa4
call fcn.00403524
lea eax, [ebp - 0x544]
mov edx, 0x4bfab4
call fcn.00403524
test byte [ebp - 0x58c], 1
jne 0x4be14e
lea eax, [ebp - 0x544]
mov edx, 0x4bfa94
call fcn.00403524
jmp 0x4be15e
lea eax, [ebp - 0x544]
mov edx, 0x4bfacc
call fcn.00403524
push dword [ebp - 0x544]
push 0x4bfadc
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.00654994
mov eax, dword [ebp - 0x6ec]
lea ecx, [ebp - 0x6c4]
mov dx, 0x20
call fcn.00653270
mov eax, dword [ebp - 0x6c4]
lea edx, [ebp - 0x6f4]
call fcn.006542f4
push dword [ebp - 0x6f4]
push 0x4bfaf4
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 0x4be087
mov eax, dword [0x669208]
test byte [eax + 1], 4
je 0x4be2b5
lea eax, [ebp - 0x6f4]
push eax
mov eax, dword [0x669208]
mov eax, dword [eax + 0x26]
mov dword [ebp - 0x71c], eax
mov byte [ebp - 0x718], 0xb
mov eax, dword [0x669208]
movzx eax, byte [eax + 0x1d]
mov edx, dword [0x66977c]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x714], eax
mov byte [ebp - 0x710], 6
mov eax, dword [0x669208]
mov eax, dword [eax + 0x22]
mov dword [ebp - 0x70c], eax
mov byte [ebp - 0x708], 0xb
mov eax, dword [0x669208]
mov eax, dword [eax + 0x2a]
mov dword [ebp - 0x704], eax
mov byte [ebp - 0x700], 0xb
mov eax, dword [0x669208]
mov eax, dword [eax + 0x1e]
mov dword [ebp - 0x6fc], eax
mov byte [ebp - 0x6f8], 0xb
lea edx, [ebp - 0x71c]
mov eax, 0x4bfaf8
mov ecx, 4
call fcn.006550e0
mov eax, dword [ebp - 0x6f4]
lea edx, [ebp - 0x6e8]
call fcn.0061b820
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4bfb2c
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4bfb44
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 0x4be585
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 [0x6694a8]
lea eax, [ebp - 0x690]
call fcn.0053e55c
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 0x4be33d
mov al, byte [ebp - 0x415]
dec eax
sub al, 9
jae 0x4be33d
xor eax, eax
mov dword [ebp - 0x688], eax
cmp dword [ebp - 0x654], 0
jne 0x4be350
mov dword [ebp - 0x654], 0x80000000
mov dword [ebp - 0x64c], 0x80000000
mov eax, dword [0x669a18]
movsx eax, word [eax]
mov dword [ebp - 0x634], eax
lea edx, [ebp - 0x584]
mov al, byte [ebp - 0x415]
call fcn.004b5ff0
push dword [ebp - 0x584]
push 0x4bfb78
push ebp
lea ecx, [ebp - 0x720]
lea eax, [ebp - 0x690]
mov dl, 1
call fcn.004b6660
pop ecx
mov eax, dword [ebp - 0x720]
lea edx, [ebp - 0x6f4]
call fcn.004b6db4
push dword [ebp - 0x6f4]
push 0x4bfb84
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 0x4be46a
mov eax, dword [ebp - 0x484]
mov eax, dword [eax + 4]
cmp dword [eax + 0x18], 0
jle 0x4be46a
mov eax, dword [0x6690d8]
test byte [eax + 0xc], 0x80
jne 0x4be46a
mov edx, 0x4bfb90
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.004b6660
pop ecx
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004b6db4
mov edx, dword [ebp - 0x6f4]
lea ecx, [ebp - 0x6e8]
mov eax, 0x4bfba0
call fcn.0065521c
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4bfbb0
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 0x4be585
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 [0x6697a0]
lea eax, [ebp - 0x47c]
call fcn.0053e620
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.004b626c
pop ecx
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004b6db4
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x728], eax
mov byte [ebp - 0x724], 0xb
lea edx, [ebp - 0x738]
mov eax, 0x4bfbd0
mov ecx, 2
call fcn.006550e0
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 0x4be482
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4be2d8
mov eax, dword [ebp - 0x484]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4be7f4
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.0x4be5de.0
mov al, byte [eax + 0x4be5e5]
jmp dword [eax*4 + 0x4be5fc]
lea eax, [ebp - 0x584]
mov edx, 0x4bfbe4
call fcn.0040330c
jmp 0x4be6dc
lea eax, [ebp - 0x584]
mov edx, 0x4bfbf8
call fcn.0040330c
jmp 0x4be6dc
lea eax, [ebp - 0x584]
mov edx, 0x4bfc0c
call fcn.0040330c
jmp 0x4be6dc
lea eax, [ebp - 0x584]
mov edx, 0x4bfc20
call fcn.0040330c
jmp 0x4be6dc
lea eax, [ebp - 0x584]
mov edx, 0x4bfc34
call fcn.0040330c
jmp 0x4be6dc
mov eax, dword [esi + 0x28]
call fcn.0054109c
test al, al
je 0x4be6cc
mov eax, dword [esi + 0x2c]
mov ecx, 3
cdq
idiv ecx
dec edx
je 0x4be696
dec edx
je 0x4be6a8
jmp 0x4be6ba
lea eax, [ebp - 0x584]
mov edx, 0x4bfc54
call fcn.0040330c
jmp 0x4be6dc
lea eax, [ebp - 0x584]
mov edx, 0x4bfc64
call fcn.0040330c
jmp 0x4be6dc
lea eax, [ebp - 0x584]
mov edx, 0x4bfc74
call fcn.0040330c
jmp 0x4be6dc
lea eax, [ebp - 0x584]
mov edx, 0x4bfc84
call fcn.0040330c
lea ecx, [ebp - 0x6e8]
mov eax, 0x4bfc8c
mov edx, dword [ebp - 0x584]
call fcn.0065521c
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 [0x6697a0]
lea eax, [ebp - 0x47c]
call fcn.0053e620
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.004b626c
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.004b6db4
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x740], eax
mov byte [ebp - 0x73c], 0xb
lea edx, [ebp - 0x748]
mov eax, 0x4bfca0
mov ecx, 1
call fcn.006550e0
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 0x4be5bd
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 0x4be966
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
cmp ebx, dword [esi + 0x14]
je 0x4be959
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.0053e55c
mov eax, dword [ebp - 0x64c]
dec eax
sub eax, 2
jae 0x4be888
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.0053e6f0
test al, al
je 0x4be8ac
mov eax, dword [ebp - 0x5d4]
mov eax, dword [eax + 0x64]
mov edx, ebx
call fcn.0064e1f0
jmp 0x4be959
cmp byte [ebp - 0x415], 0
jne 0x4be8c2
lea eax, [ebp - 0x584]
call fcn.00403274
jmp 0x4be8d3
lea edx, [ebp - 0x584]
mov al, byte [ebp - 0x415]
call fcn.004b5ff0
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.004b6660
pop ecx
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004b6db4
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x728], eax
mov byte [ebp - 0x724], 0xb
lea edx, [ebp - 0x738]
mov eax, 0x4bfcac
mov ecx, 2
call fcn.006550e0
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 0x4be834
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4be807
mov edx, 0x4bfcc0
mov eax, dword [ebp - 0x528]
call fcn.004b4384
mov dword [ebp - 0x52c], eax
mov ecx, 0x4bfcd0
mov edx, 0x4bfcf8
mov eax, dword [ebp - 0x52c]
call fcn.004b4168
mov ecx, 0x4bfd08
mov edx, 0x4bfd14
mov eax, dword [ebp - 0x52c]
call fcn.004b4168
mov ecx, 0x4bfd24
mov edx, 0x4bfd34
mov eax, dword [ebp - 0x52c]
call fcn.004b4168
mov edx, 0x4bfd50
mov eax, dword [ebp - 0x52c]
call fcn.004b4384
mov dword [ebp - 0x5d8], eax
mov ecx, 0x4bfd64
mov edx, 0x4bfd90
mov eax, dword [ebp - 0x5d8]
call fcn.004b4168
mov ecx, 0x4bfcd0
mov edx, 0x4bfda4
mov eax, dword [ebp - 0x5d8]
call fcn.004b4168
mov edx, 0x4bfdb8
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx]
call fcn.004038bc
mov edx, 0x4bfdcc
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 4], 0
jne 0x4bea6c
mov eax, dword [ebp - 0x5dc]
add eax, 0x24
mov edx, 0x4bfddc
call fcn.004038bc
jmp 0x4bea83
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.004bc2d0
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4bfdf8
mov eax, dword [ebp - 0x5dc]
call fcn.004b4198
mov ecx, 0x4bfe0c
mov edx, 0x4bfe18
mov eax, dword [ebp - 0x5dc]
call fcn.004b4168
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 8], 0
je 0x4beaef
mov edx, 0x4bfe2c
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
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 0x4beb1c
mov edx, 0x4bfe40
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
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 0x4beb49
mov edx, 0x4bfe58
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
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 0x4beb76
mov edx, 0x4bfe70
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 0x24]
call fcn.004038bc
mov edx, 0x4bfe80
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
mov dword [ebp - 0x5e0], eax
mov ecx, 0x4bfd24
mov edx, 0x4bfe98
mov eax, dword [ebp - 0x5e0]
call fcn.004b4168
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 0x4bebdf
lea eax, [ebp - 0x6e8]
call fcn.0061cb94
mov ecx, dword [ebp - 0x6e8]
lea eax, [ebp - 0x540]
mov edx, 0x4bfea4
call fcn.00403568
mov eax, dword [ebp - 0x5e0]
add eax, 0x24
mov edx, dword [ebp - 0x540]
call fcn.00403a34
mov edx, 0x4bfeb4
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
add eax, 0x24
mov edx, dword [ebp - 0x4a0]
call fcn.00403a34
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 0x18], 0
je 0x4bec3e
mov edx, 0x4bfec8
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
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 0x4bec6b
mov edx, 0x4bfedc
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
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 0x4becbb
mov edx, 0x4bfef0
mov eax, dword [ebp - 0x5d8]
call fcn.004b4384
mov dword [ebp - 0x5e4], eax
mov ecx, 0x4bff00
mov edx, 0x4bff10
mov eax, dword [ebp - 0x5e4]
call fcn.004b4168
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax - 0xc]
mov ecx, dword [ecx + 0x20]
mov edx, 0x4bff20
mov eax, dword [ebp - 0x5e4]
call fcn.004b4198
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 0x28], 0
je 0x4bece3
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, 0x4bff2c
call fcn.00403b24
mov edx, 0x4bff38
mov eax, dword [ebp - 0x52c]
call fcn.004b4384
mov dword [ebp - 0x420], eax
mov edx, 0x4bff4c
mov eax, dword [ebp - 0x420]
call fcn.004b4384
mov dword [ebp - 0x5e8], eax
mov ecx, 0x4bff5c
mov edx, 0x4bfe98
mov eax, dword [ebp - 0x5e8]
call fcn.004b4168
mov ecx, 0x4bff68
mov edx, 0x4bff78
mov eax, dword [ebp - 0x5e8]
call fcn.004b4168
mov ecx, 0x4bff88
mov edx, 0x4bffac
mov eax, dword [ebp - 0x5e8]
call fcn.004b4168
mov edx, 0x4bff4c
mov eax, dword [ebp - 0x420]
call fcn.004b4384
mov dword [ebp - 0x5ec], eax
mov ecx, 0x4bffc0
mov edx, 0x4bfe98
mov eax, dword [ebp - 0x5ec]
call fcn.004b4168
mov ecx, 0x4bffd0
mov edx, 0x4bff78
mov eax, dword [ebp - 0x5ec]
call fcn.004b4168
mov ecx, 0x4bffe4
mov edx, 0x4bffac
mov eax, dword [ebp - 0x5ec]
call fcn.004b4168
cmp dword [ebp - 0x44c], 0
je 0x4bee10
mov eax, dword [ebp - 0x44c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 0x3c], 0
je 0x4bee10
mov edx, 0x4bff4c
mov eax, dword [ebp - 0x420]
call fcn.004b4384
mov dword [ebp - 0x5f0], eax
mov ecx, 0x4bfff8
mov edx, 0x4bfe98
mov eax, dword [ebp - 0x5f0]
call fcn.004b4168
mov ecx, 0x4c000c
mov edx, 0x4bff78
mov eax, dword [ebp - 0x5f0]
call fcn.004b4168
mov ecx, 0x4bffe4
mov edx, 0x4bffac
mov eax, dword [ebp - 0x5f0]
call fcn.004b4168
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
sub eax, 2
test eax, eax
jl 0x4beee2
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004b72ec
pop ecx
test al, al
jne 0x4beed5
mov edx, 0x4bff4c
mov eax, dword [ebp - 0x420]
call fcn.004b4384
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.00654870
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 0x4c001c
call fcn.00403b24
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4bfe98
mov eax, dword [ebp - 0x5f4]
call fcn.004b4198
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + ebx*4]
mov edx, 0x4bff78
mov eax, dword [ebp - 0x5f4]
call fcn.004b4168
mov ecx, 0x4c002c
mov edx, 0x4bffac
mov eax, dword [ebp - 0x5f4]
call fcn.004b4168
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4bee2d
mov eax, dword [ebp - 0x57c]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x4befa6
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
mov edx, 0x4bff4c
mov eax, dword [ebp - 0x420]
call fcn.004b4384
mov esi, eax
lea ecx, [ebp - 0x6e8]
lea edx, [ebx + 1]
mov eax, 0x4c0044
call fcn.00655344
mov ecx, dword [ebp - 0x6e8]
mov edx, 0x4bfe98
mov eax, esi
call fcn.004b4168
lea edx, [ebp - 0x6f0]
mov eax, dword [ebp - 0x57c]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + ebx*4]
call fcn.00654994
mov eax, dword [ebp - 0x6f0]
lea ecx, [ebp - 0x6ec]
mov dx, 0x20
call fcn.00653270
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 0x4c0054
call fcn.00403b24
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4bff78
mov eax, esi
call fcn.004b4198
mov ecx, 0x4c006c
mov edx, 0x4bffac
mov eax, esi
call fcn.004b4168
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4beefd
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 0x4bf00d
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004b72ec
pop ecx
test al, al
jne 0x4bf004
push ebp
mov eax, ebx
call fcn.004bb950
pop ecx
mov esi, eax
mov eax, dword [ebp + 8]
cmp esi, dword [eax]
jle 0x4beffc
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 0x4befd8
mov eax, dword [ebp - 0x448]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x4bf080
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, 0x4c0088
mov ecx, 1
call fcn.006550e0
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 0x4bf024
mov eax, dword [ebp - 0x488]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x4bf0f3
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, 0x4c0094
mov ecx, 1
call fcn.006550e0
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 0x4bf097
lea edx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
call fcn.0064e7e8
mov eax, dword [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c00a4
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
pop edx
call fcn.0061c4d0
cmp dword [ebp - 0x44c], 0
je 0x4bf1a4
mov eax, dword [ebp - 0x44c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 0x3c], 0
je 0x4bf1a4
mov eax, dword [ebp - 0x53c]
mov edx, dword [eax]
call dword [edx + 0x34]
mov edx, 0x4bfb2c
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4c00c8
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
call fcn.0064e7e8
mov eax, dword [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c00fc
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
pop edx
call fcn.0061c4d0
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 0x4bf218
mov edx, 0x4bfd50
mov eax, dword [ebp - 0x52c]
call fcn.004b4040
mov edx, 0x4bfef0
call fcn.004b4384
mov dword [ebp - 0x5f8], eax
mov ecx, 0x4c0120
mov edx, 0x4bff10
mov eax, dword [ebp - 0x5f8]
call fcn.004b4168
mov ecx, 0x4c0120
mov edx, 0x4bff20
mov eax, dword [ebp - 0x5f8]
call fcn.004b4168
mov edx, 0x4c0130
mov eax, dword [ebp - 0x52c]
call fcn.004b4384
mov dword [ebp - 0x5fc], eax
mov ecx, 0x4bff5c
mov edx, 0x4c0140
mov eax, dword [ebp - 0x5fc]
call fcn.004b4168
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
sub eax, 2
test eax, eax
jl 0x4bf312
inc eax
mov dword [ebp - 0x5a8], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004b72ec
pop ecx
test al, al
jne 0x4bf305
mov edx, 0x4c014c
mov eax, dword [ebp - 0x5fc]
call fcn.004b4384
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.00654870
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 0x4c001c
call fcn.00403b24
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4c015c
mov eax, dword [ebp - 0x600]
call fcn.004b4198
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 0x4bf305
mov ecx, 0x4c016c
mov edx, 0x4c0178
mov eax, dword [ebp - 0x600]
call fcn.004b4168
inc ebx
dec dword [ebp - 0x5a8]
jne 0x4bf260
cmp dword [ebp - 0x450], 0
jne 0x4bf328
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0x10], 0
je 0x4bf487
mov edx, 0x4c0188
mov eax, dword [ebp - 0x52c]
call fcn.004b4384
mov dword [ebp - 0x604], eax
cmp dword [ebp - 0x450], 0
je 0x4bf39d
mov edx, 0x4c0198
mov eax, dword [ebp - 0x604]
call fcn.004b4384
mov dword [ebp - 0x608], eax
mov ecx, 0x4c0120
mov edx, 0x4c01ac
mov eax, dword [ebp - 0x608]
call fcn.004b4168
mov ecx, 0x4c01bc
mov edx, 0x4c01cc
mov eax, dword [ebp - 0x608]
call fcn.004b4168
mov ecx, dword [ebp - 0x450]
mov edx, 0x4bff78
mov eax, dword [ebp - 0x608]
call fcn.004b4168
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0x10], 0
je 0x4bf412
mov edx, 0x4c0198
mov eax, dword [ebp - 0x604]
call fcn.004b4384
mov dword [ebp - 0x60c], eax
mov ecx, 0x4c0140
mov edx, 0x4c01ac
mov eax, dword [ebp - 0x60c]
call fcn.004b4168
mov ecx, 0x4c01dc
mov edx, 0x4c01cc
mov eax, dword [ebp - 0x60c]
call fcn.004b4168
push ebp
lea ecx, [ebp - 0x6e8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0x10]
or edx, 0xffffffff
call fcn.004b7398
pop ecx
mov ecx, dword [ebp - 0x6e8]
mov edx, 0x4bff78
mov eax, dword [ebp - 0x60c]
call fcn.004b4168
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0x14], 0
je 0x4bf487
mov edx, 0x4c0198
mov eax, dword [ebp - 0x604]
call fcn.004b4384
mov dword [ebp - 0x610], eax
mov ecx, 0x4c01f8
mov edx, 0x4c01ac
mov eax, dword [ebp - 0x610]
call fcn.004b4168
mov ecx, 0x4c0208
mov edx, 0x4c01cc
mov eax, dword [ebp - 0x610]
call fcn.004b4168
push ebp
lea ecx, [ebp - 0x6e8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0x14]
or edx, 0xffffffff
call fcn.004b7398
pop ecx
mov ecx, dword [ebp - 0x6e8]
mov edx, 0x4bff78
mov eax, dword [ebp - 0x610]
call fcn.004b4168
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c0218
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
call fcn.006216bc
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c0230
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
mov edx, 0x4c0268
call fcn.0061c4d0
mov eax, dword [0x669150]
mov byte [eax], 1
mov edx, 0x4bff5c
mov eax, dword [ebp - 0x528]
call fcn.004b4384
mov dword [ebp - 0x614], eax
mov ecx, 0x4c034c
mov edx, 0x4bfcf8
mov eax, dword [ebp - 0x614]
call fcn.004b4168
mov ecx, dword [ebp - 0x4a0]
mov edx, 0x4c037c
mov eax, dword [ebp - 0x614]
call fcn.004b4168
mov ecx, 0x4c0390
mov edx, 0x4bfd14
mov eax, dword [ebp - 0x614]
call fcn.004b4168
mov edx, 0x4c03a0
mov eax, dword [ebp - 0x614]
call fcn.004b4384
mov dword [ebp - 0x618], eax
mov edx, 0x4bfef0
mov eax, dword [ebp - 0x618]
call fcn.004b4384
mov dword [ebp - 0x61c], eax
mov ecx, 0x4c03b0
mov edx, 0x4bff10
mov eax, dword [ebp - 0x61c]
call fcn.004b4168
mov ecx, dword [ebp - 0x540]
mov edx, 0x4bff20
mov eax, dword [ebp - 0x61c]
call fcn.004b4168
mov edx, 0x4bfef0
mov eax, dword [ebp - 0x618]
call fcn.004b4384
mov dword [ebp - 0x560], eax
mov edx, 0x4bfef0
mov eax, dword [ebp - 0x618]
call fcn.004b4384
mov dword [ebp - 0x620], eax
mov ecx, 0x4c03c0
mov edx, 0x4bff10
mov eax, dword [ebp - 0x620]
call fcn.004b4168
xor ecx, ecx
mov edx, 0x4bff20
mov eax, dword [ebp - 0x620]
call fcn.004b41c8
mov edx, 0x4bfef0
mov eax, dword [ebp - 0x618]
call fcn.004b4384
mov dword [ebp - 0x624], eax
mov ecx, 0x4c03dc
mov edx, 0x4bff10
mov eax, dword [ebp - 0x624]
call fcn.004b4168
xor ecx, ecx
mov edx, 0x4bff20
mov eax, dword [ebp - 0x624]
call fcn.004b41c8
mov edx, 0x4c03f8
mov eax, dword [ebp - 0x614]
call fcn.004b4384
mov edx, 0x4c01f8
call fcn.004b4384
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, 0x4c040c
mov eax, dword [ebp - 0x614]
call fcn.004b4384
mov dword [ebp - 0x55c], eax
jmp 0x4bf67d
push ebp
mov edx, 1
mov eax, dword [ebp - 0x55c]
call fcn.004bc050
pop ecx
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
dec eax
cmp eax, dword [ebp - 0x508]
jg 0x4bf66b
mov ecx, 0x4c041c
mov edx, 0x4bff10
mov eax, dword [ebp - 0x560]
call fcn.004b4168
mov ecx, dword [ebp - 0x50c]
mov edx, 0x4bff20
mov eax, dword [ebp - 0x560]
call fcn.004b41c8
mov eax, dword [ebp - 0x614]
add eax, 0x34
mov ecx, 0x4c042c
mov edx, dword [ebp - 4]
call fcn.00403b24
push 0
xor ecx, ecx
mov edx, 0x4c044c
mov eax, dword [ebp - 0x614]
call fcn.004b4948
mov eax, dword [ebp - 0x52c]
add eax, 0x34
mov ecx, 0x4c04e0
mov edx, dword [ebp - 4]
call fcn.00403b24
push 0
xor ecx, ecx
mov edx, 0x4c0508
mov eax, dword [ebp - 0x52c]
call fcn.004b4948
mov eax, dword [0x669150]
mov byte [eax], 0
mov eax, dword [ebp - 0x42c]
call fcn.0064e5c0
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.0064e5c0
dec byte [ebp - 0x415]
sub dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xff
jne 0x4bf73c
mov eax, dword [ebp - 0x480]
call fcn.0064e5c0
mov eax, dword [ebp - 0x434]
call fcn.0064e5c0
mov eax, dword [ebp - 0x514]
call fcn.0064e5c0
mov eax, dword [ebp - 0x4a4]
call fcn.004028c0
mov eax, dword [ebp - 0x430]
call fcn.004028c0
mov eax, dword [ebp - 0x564]
call fcn.0064e5c0
mov eax, dword [0x669aec]
mov dl, byte [ebp - 0x555]
mov byte [eax], dl
mov eax, dword [ebp - 0x454]
call fcn.004028c0
mov eax, dword [0x669728]
mov eax, dword [eax]
call fcn.004028c0
mov eax, dword [0x669b68]
mov eax, dword [eax]
call fcn.004028c0
mov eax, dword [ebp - 0x528]
call fcn.004b4a40
mov eax, dword [ebp - 0x530]
call fcn.0064e5c0
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.0064e4dc
mov eax, dword [ebp - 0x41c]
call fcn.0064e5c0
mov eax, dword [0x669100]
mov edx, 0x4c0538
call fcn.004032c8
mov eax, dword [ebp + 0xc]
mov edx, dword [eax - 0x18]
mov eax, dword [ebp - 4]
call fcn.004b3af0
mov eax, dword [0x669100]
call fcn.00403274
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00621e10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bf8fe
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