Function at 0x4bdfc0
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 0x4bdfc9
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 0x4c0d60
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
call fcn.006267c8
lea eax, [ebp - 4]
call fcn.0062b120
call fcn.004b52d4
mov dword [ebp - 0x528], eax
call fcn.00656280
mov edx, dword [0x672984]
mov dword [edx], eax
call fcn.006562d0
mov edx, dword [0x6725c0]
mov dword [edx], eax
call fcn.006562d0
mov dword [ebp - 0x454], eax
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c0d78
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
call fcn.0062afc8
mov eax, dword [0x672908]
mov al, byte [eax]
mov byte [ebp - 0x555], al
mov eax, dword [0x672908]
mov byte [eax], 0x2e
xor eax, eax
mov dword [ebp - 0x43c], eax
xor eax, eax
mov dword [ebp - 0x438], eax
call fcn.00656a20
mov dword [ebp - 0x41c], eax
call fcn.006562d0
mov dword [ebp - 0x570], eax
call fcn.006562d0
mov dword [ebp - 0x578], eax
call fcn.006562d0
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x57c]
mov byte [eax + 0x28], 1
call fcn.00656a20
mov dword [ebp - 0x530], eax
call fcn.00656a20
mov dword [ebp - 0x564], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005c009c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005fdca0
and eax, 0x3ff
mov dword [ebp - 0x54c], eax
lea eax, [ebp - 0x4a0]
mov edx, 0x4c0d88
call fcn.0040330c
mov ebx, 0x47
mov eax, dword [0x6722dc]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x598], eax
mov eax, dword [ebp - 0x598]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x54c]
jne 0x4be139
lea eax, [ebp - 0x4a0]
mov edx, dword [ebp - 0x598]
mov edx, dword [edx]
call fcn.00403438
jmp 0x4be143
add dword [ebp - 0x62c], 8
dec ebx
jne 0x4be107
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005e71d8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x590]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x4be17e
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x590]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [eax + 0x34], ebx
dec ebx
cmp ebx, 0xffffffff
jne 0x4be163
xor eax, eax
mov dword [ebp - 0x538], eax
xor eax, eax
mov dword [ebp - 0x534], eax
call fcn.00656280
mov dword [ebp - 0x430], eax
call fcn.006562d0
mov dword [ebp - 0x4a4], eax
call fcn.00656a20
mov dword [ebp - 0x514], eax
call fcn.00656a20
mov dword [ebp - 0x434], eax
call fcn.00656a20
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x428], 0x7fffffff
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xa8]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x4be231
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
call fcn.00552fd0
mov dword [ebp - 0x59c], eax
mov eax, dword [ebp - 0x59c]
call fcn.0062ebdc
test al, al
je 0x4be22b
mov eax, dword [ebp - 0x59c]
mov edx, dword [eax + 0xc]
dec edx
mov eax, dword [ebp - 0x428]
call fcn.0065b28c
mov dword [ebp - 0x428], eax
dec ebx
cmp ebx, 0xffffffff
jne 0x4be1e4
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.00564468
mov dword [ebp - 0x548], eax
cmp ebx, dword [ebp - 0x548]
jge 0x4be419
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005c0358
mov esi, eax
push ebp
mov edx, dword [ebp - 0x564]
mov eax, ebx
call fcn.004bd6b0
pop ecx
mov byte [ebp - 0x591], al
inc ebx
cmp byte [ebp - 0x591], 0
jne 0x4be36e
jmp 0x4be2a2
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005c0358
add esi, eax
inc ebx
cmp ebx, dword [ebp - 0x548]
jge 0x4be322
push ebp
mov eax, ebx
call fcn.004b8584
pop ecx
cmp eax, 9
jne 0x4be322
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005c0358
add eax, esi
cmp eax, dword [ebp - 0x518]
jle 0x4be302
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
cmp byte [eax + 0x3c], 0
je 0x4be322
lea ecx, [ebp - 0x6e4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005f4ebc
cmp ebx, dword [ebp - 0x6e4]
jle 0x4be322
push ebp
xor edx, edx
mov eax, ebx
call fcn.004bd6b0
pop ecx
test al, al
jne 0x4be322
push ebp
mov eax, ebx
call fcn.004bd9c4
pop ecx
test al, al
je 0x4be292
cmp ebx, dword [ebp - 0x548]
jge 0x4be36e
mov eax, ebx
sub eax, edi
dec eax
jne 0x4be36e
push ebp
mov eax, edi
call fcn.004b8680
pop ecx
test al, al
je 0x4be36e
push ebp
mov edx, dword [ebp - 0x564]
mov eax, ebx
call fcn.004bd6b0
pop ecx
test al, al
je 0x4be36e
mov edx, ebx
mov eax, dword [ebp - 0x434]
call fcn.00656c78
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005c0358
add esi, eax
inc ebx
lea edx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x51c]
call fcn.004bdb5c
mov edx, dword [ebp - 0x6e8]
mov ecx, edi
mov eax, dword [ebp - 0x430]
call fcn.00657778
mov edx, esi
mov eax, dword [ebp - 0x514]
call fcn.00656c78
inc dword [ebp - 0x51c]
cmp byte [ebp - 0x591], 0
je 0x4be3ca
mov edx, edi
mov eax, dword [ebp - 0x434]
call fcn.00656c78
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
jmp 0x4be40b
push ebp
mov eax, edi
call fcn.004b8584
pop ecx
cmp eax, 9
jne 0x4be3e7
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x30]
jmp 0x4be40b
lea ecx, [ebp - 0x6c4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, edi
call fcn.005c439c
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 0x4be25e
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.004b71a4
mov dword [ebp - 0x5a0], eax
xor eax, eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x49c], 0x80000000
mov eax, dword [ebp - 0x5a0]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x4be48f
mov eax, dword [ebp - 0x5a0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5a4], eax
mov eax, dword [ebp - 0x5a4]
cmp byte [eax + 4], 0
je 0x4be489
mov eax, dword [ebp - 0x5a4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x5a4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x49c], eax
jmp 0x4be48f
dec ebx
cmp ebx, 0xffffffff
jne 0x4be44b
mov eax, dword [ebp - 0x5a0]
call fcn.00656ff0
mov eax, dword [ebp - 0x430]
mov ebx, dword [eax + 0x24]
dec ebx
cmp ebx, 1
jl 0x4be553
push ebp
mov eax, ebx
call fcn.004b874c
pop ecx
test al, al
jne 0x4be54a
push ebp
mov eax, ebx
dec eax
call fcn.004b874c
pop ecx
test al, al
jne 0x4be54a
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.004b8584
pop ecx
mov dword [ebp - 0x550], eax
push ebp
mov eax, esi
call fcn.004b8584
pop ecx
mov dword [ebp - 0x554], eax
cmp dword [ebp - 0x550], 9
je 0x4be54a
cmp dword [ebp - 0x554], 9
je 0x4be54a
mov eax, dword [ebp - 0x550]
cmp eax, dword [ebp - 0x554]
jge 0x4be54a
push ebp
mov eax, esi
call fcn.004bd9c4
pop ecx
test al, al
jne 0x4be54a
mov edx, esi
mov eax, dword [ebp - 0x480]
call fcn.00656c78
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x14]
lea eax, [eax + ebx*4]
mov edx, 0x4c0d94
call fcn.004032c8
dec ebx
test ebx, ebx
jne 0x4be4ad
push ebp
call fcn.004bdb80
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 0x4be60f
push ebp
mov eax, ebx
call fcn.004b874c
pop ecx
test al, al
jne 0x4be5a4
push ebp
mov edx, ebx
mov eax, dword [ebp - 0x430]
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.004bd9c4
pop ecx
test al, al
jne 0x4be5a4
mov eax, dword [ebp - 0x520]
inc dword [eax]
push ebp
mov eax, ebx
call fcn.004b8728
pop ecx
test al, al
je 0x4be606
mov esi, ebx
dec esi
jmp 0x4be5b7
dec esi
push ebp
mov eax, esi
call fcn.004b8728
pop ecx
test al, al
jne 0x4be5b6
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, 0x4c0d98
call fcn.0065da0c
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 0x4be577
mov eax, dword [ebp - 0x4a4]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x5a8], eax
mov eax, dword [ebp - 0x5a8]
cmp dword [eax], 0
jne 0x4be781
push ebp
xor eax, eax
call fcn.004b8680
pop ecx
test al, al
jne 0x4be781
mov eax, dword [ebp - 0x430]
cmp dword [eax + 0x24], 1
jne 0x4be662
mov eax, dword [ebp - 0x5a8]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx]
call fcn.004038bc
jmp 0x4be781
mov eax, dword [ebp - 0x54c]
add eax, 0xfffffff9
cmp eax, 0x16
ja case.0x4be67a.7
mov al, byte [eax + 0x4be681]
jmp dword [eax*4 + 0x4be698]
lea eax, [ebp - 0x588]
mov edx, 0x4c0da8
call fcn.0040330c
jmp 0x4be75f
lea eax, [ebp - 0x588]
mov edx, 0x4c0dbc
call fcn.0040330c
jmp 0x4be75f
lea eax, [ebp - 0x588]
mov edx, 0x4c0dd0
call fcn.0040330c
jmp 0x4be75f
lea eax, [ebp - 0x588]
mov edx, 0x4c0de4
call fcn.0040330c
jmp 0x4be75f
lea eax, [ebp - 0x588]
mov edx, 0x4c0dfc
call fcn.0040330c
jmp 0x4be75f
lea eax, [ebp - 0x588]
mov edx, 0x4c0e10
call fcn.0040330c
jmp 0x4be75f
lea eax, [ebp - 0x588]
mov edx, 0x4c0e2c
call fcn.0040330c
jmp 0x4be75f
lea eax, [ebp - 0x588]
mov edx, 0x4c0e44
call fcn.0040330c
jmp 0x4be75f
lea eax, [ebp - 0x588]
mov edx, 0x4c0e58
call fcn.0040330c
lea edx, [ebp - 0x6c4]
mov eax, dword [ebp - 0x588]
call fcn.0065c958
mov edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x5a8]
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 + 0x128]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 4]
add eax, dword [edx + 0x12c]
test eax, eax
jle 0x4be944
mov ebx, edi
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 2
call fcn.0056448c
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x51c], 1
cmp ebx, dword [ebp - 0x548]
jg 0x4be934
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005c0358
mov esi, eax
inc ebx
jmp 0x4be802
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005c0358
add esi, eax
inc ebx
cmp ebx, dword [ebp - 0x548]
jg 0x4be821
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.005c0358
add eax, esi
cmp eax, dword [ebp - 0x518]
jle 0x4be7f2
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 1
call fcn.00564468
cmp edi, eax
jne 0x4be8ea
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 0x4be882
inc eax
mov dword [ebp - 0x5ac], eax
push ebp
mov eax, esi
call fcn.004b8584
pop ecx
cmp eax, 9
jne 0x4be879
mov byte [ebp - 0x592], 0
jmp 0x4be882
inc esi
dec dword [ebp - 0x5ac]
jne 0x4be862
cmp byte [ebp - 0x592], 0
je 0x4be8b9
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 0x4be8c6
xor edx, edx
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov ecx, edi
mov edx, 0x4c0e6c
mov eax, dword [ebp - 0x430]
call fcn.00657778
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
dec eax
mov dword [ebp - 0x490], eax
jmp 0x4be920
lea ecx, [ebp - 0x6e8]
mov eax, 0x4c0e78
mov edx, dword [ebp - 0x51c]
call fcn.0065da0c
mov edx, dword [ebp - 0x6e8]
mov ecx, edi
mov eax, dword [ebp - 0x430]
call fcn.00657778
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 0x4be7e0
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.0056448c
mov ecx, eax
inc ecx
xor edx, edx
mov eax, dword [ebp - 0x430]
call fcn.00657778
lea eax, [ebp - 0x47c]
push eax
lea edx, [ebp - 0x6e4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.005c8d2c
lea ecx, [ebp - 0x6e4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
xor edx, edx
call fcn.005c8100
cmp word [ebp - 0x476], 1
jne 0x4be9a1
cmp word [ebp - 0x478], 0xf0
je 0x4be9a5
xor eax, eax
jmp 0x4be9a7
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 [0x61ea20]
call fcn.0062ffcc
mov dword [esi], eax
mov ecx, 0x60
mov dl, 1
mov eax, dword [0x61ea20]
call fcn.0062ffcc
mov dword [esi + 4], eax
call fcn.00656a20
mov dword [esi + 0x64], eax
dec ebx
cmp ebx, 0xffffffff
jne 0x4be9b2
mov ecx, 0x30
mov dl, 1
mov eax, dword [0x61ea20]
call fcn.0062ffcc
mov dword [ebp - 0x484], eax
call fcn.00656a20
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 2
call fcn.0056448c
mov dword [ebp - 0x548], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x5fc]
cmp dword [eax + 0x18], 0
jle 0x4bed3b
mov eax, dword [0x672428]
test byte [eax + 0x10], 0x80
jne 0x4bed3b
mov ebx, dword [ebp - 0x548]
cmp ebx, 0
jl 0x4bead3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5b0], eax
mov eax, dword [ebp - 0x5b0]
cmp dword [eax + 0x37], 0
je 0x4beacd
mov eax, dword [ebp - 0x5b0]
mov eax, dword [eax + 0x37]
xor edx, edx
call fcn.005626ac
test al, al
je 0x4beacd
mov eax, dword [ebp - 0x5b0]
mov eax, dword [eax + 0x37]
cmp dword [eax + 0x14], 1
jne 0x4beacd
mov eax, dword [ebp - 0x5b0]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.00656dac
test al, al
jne 0x4beacd
mov eax, dword [ebp - 0x5b0]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.00656c78
dec ebx
cmp ebx, 0xffffffff
jne 0x4bea5a
mov eax, dword [ebp - 0x42c]
mov ebx, dword [eax + 0x18]
dec ebx
cmp ebx, 0
jl 0x4beb6c
mov eax, dword [ebp - 0x42c]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
add eax, 0x14
mov dword [ebp - 0x5b4], eax
mov eax, dword [ebp - 0x5b4]
mov eax, dword [eax + 4]
sub eax, 5
jb 0x4beb0e
sub eax, 0x11
jne 0x4beb55
lea eax, [ebp - 0x6e8]
mov edx, dword [ebp - 0x5b4]
mov edx, dword [edx + 0x94]
call fcn.004034e4
mov eax, dword [ebp - 0x6e8]
mov edx, 0x4c0e90
call fcn.0040362c
jne 0x4beb46
mov eax, dword [ebp - 0x5b4]
cmp byte [eax + 0x91], 0
je 0x4beb62
mov edx, ebx
mov eax, dword [ebp - 0x42c]
call fcn.00656cdc
jmp 0x4beb62
mov edx, ebx
mov eax, dword [ebp - 0x42c]
call fcn.00656cdc
dec ebx
cmp ebx, 0xffffffff
jne 0x4beae6
mov eax, dword [ebp - 0x42c]
cmp dword [eax + 0x18], 0
jle 0x4bec5b
mov ebx, dword [ebp - 0x548]
cmp ebx, 0
jl 0x4bec5b
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5b8], eax
mov eax, dword [ebp - 0x5b8]
cmp dword [eax + 0x37], 0
je 0x4bec51
mov eax, dword [ebp - 0x5b8]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.00656dac
test al, al
je 0x4bec51
mov eax, dword [ebp - 0x5b8]
mov eax, dword [eax + 0x37]
mov al, byte [eax + 0xb]
xor al, 1
and eax, 0x7f
mov edx, dword [ebp - 0x5b8]
movsx edx, byte [edx + 0x3b]
imul edx
test eax, eax
jg 0x4bec3d
mov eax, dword [ebp - 0x5b8]
cmp word [eax + 0x1c], 0
jge 0x4bec3d
mov eax, dword [ebp - 0x5b8]
mov eax, dword [eax + 0x37]
cmp dword [eax + 0x14], 1
jne 0x4bec3d
test ebx, ebx
jle 0x4bec51
mov eax, dword [ebp - 0x5b8]
cmp dword [eax + 0x7c], 1
jle 0x4bec51
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4 - 4]
mov eax, dword [eax + 0x37]
mov edx, dword [ebp - 0x5b8]
cmp eax, dword [edx + 0x37]
je 0x4bec51
mov eax, dword [ebp - 0x5b8]
mov edx, dword [eax + 0x37]
mov eax, dword [ebp - 0x42c]
call fcn.00656d18
dec ebx
cmp ebx, 0xffffffff
jne 0x4beb8b
mov eax, dword [ebp - 0x548]
test eax, eax
jl 0x4bed3b
inc eax
mov dword [ebp - 0x5ac], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004b85fc
pop ecx
test al, al
je 0x4bed2e
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x5bc]
mov eax, dword [eax + 0x37]
mov dword [ebp - 0x5c0], eax
mov eax, dword [ebp - 0x5bc]
lea esi, [eax + 0x1c]
lea edi, [ebp - 0x6c0]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x6c0]
call fcn.004b74d8
mov eax, dword [ebp - 0x5c0]
mov al, byte [eax + 0xb]
xor al, 1
and eax, 0x7f
mov edx, dword [ebp - 0x5bc]
movsx edx, byte [edx + 0x3b]
imul edx
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x5c0]
mov al, byte [eax + 0xb]
xor al, 1
and eax, 0x7f
mov edx, dword [ebp - 0x5bc]
movsx edx, byte [edx + 0x3b]
imul edx
imul eax, eax, 0x2b
mov edx, dword [ebp - 0x5c0]
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.00630008
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4bec72
mov eax, dword [ebp - 0x548]
test eax, eax
jl 0x4bf119
inc eax
mov dword [ebp - 0x5ac], eax
xor ebx, ebx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xa8]
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.004b74a8
mov edx, ebx
mov eax, dword [ebp - 0x434]
call fcn.00656dac
test al, al
je 0x4bedad
mov word [ebp - 0x46c], 0
mov word [ebp - 0x46a], 0
mov byte [ebp - 0x472], 1
jmp 0x4bedf6
cmp word [ebp - 0x46c], 0xffec
jne 0x4bede0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov edx, ebx
call fcn.0056442c
mov edx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.00564468
cmp ebx, eax
jne 0x4bede0
mov word [ebp - 0x46c], 0
jmp 0x4bedeb
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.004b7454
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.00630008
cmp dword [edi + 0x37], 0
je 0x4beee4
push ebp
mov eax, ebx
call fcn.004b85fc
pop ecx
test al, al
jne 0x4beee4
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov dl, 0x59
call fcn.00565be8
lea eax, [ebp - 0x500]
push eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xa8]
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.005c84d0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
call fcn.00565c80
call fcn.00656518
mov dword [ebp - 0x48c], eax
mov edx, dword [edi + 0x48]
mov eax, dword [ebp - 0x48c]
mov ecx, dword [eax]
call dword [ecx]
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.006305f4
dec esi
sub dword [ebp - 0x630], 4
cmp esi, 0xffffffff
jne 0x4bee9e
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.00656790
and word [edi + 0xc], 0xfffd
jmp 0x4beeec
xor eax, eax
mov dword [ebp - 0x48c], eax
mov esi, dword [edi + 0x48]
mov eax, edi
call fcn.00551d0c
xor eax, eax
mov dword [ebp - 0x444], eax
xor eax, eax
mov dword [ebp - 0x504], eax
mov eax, dword [0x672394]
push esi
push edi
mov esi, eax
lea edi, [ebp - 0x500]
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push ebp
mov edx, ebx
mov eax, dword [ebp - 0x4c4]
call fcn.004b7388
pop ecx
mov dword [ebp - 0x4c4], eax
mov byte [ebp - 0x593], 0
jmp 0x4bf0ca
mov eax, dword [esi + 4]
add eax, dword [ebp - 0x444]
cmp word [eax], 0
jne 0x4bf0bd
mov eax, dword [esi + 4]
add eax, dword [ebp - 0x444]
add eax, 2
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x5c4]
mov al, byte [eax]
sub al, 0x17
jae 0x4bf005
cmp byte [ebp - 0x593], 0
je 0x4bef8c
mov eax, dword [ebp - 0x5c4]
cmp byte [eax], 0x14
je 0x4bf0b4
cmp dword [ebp - 0x504], 0
jle 0x4befa6
push ebp
mov eax, ebx
call fcn.004bd3d8
pop ecx
xor eax, eax
mov dword [ebp - 0x504], eax
mov eax, dword [ebp - 0x5c4]
mov eax, dword [eax + 1]
mov edx, dword [ebp - 0x5c4]
movzx edx, byte [edx]
mov dword [ebp + edx*4 - 0x500], eax
mov eax, dword [ebp - 0x5c4]
cmp byte [eax], 0xf
jne 0x4befe7
push ebp
mov eax, dword [ebp - 0x5c4]
mov eax, dword [eax + 1]
mov edx, ebx
call fcn.004b7388
pop ecx
mov dword [ebp - 0x4c4], eax
jmp 0x4bf0b4
mov eax, dword [ebp - 0x5c4]
mov eax, dword [eax + 1]
mov edx, dword [ebp - 0x5c4]
movzx edx, byte [edx]
mov dword [ebp + edx*4 - 0x500], eax
jmp 0x4bf0b4
mov eax, dword [ebp - 0x5c4]
mov al, byte [eax]
add al, 0xe9
sub al, 5
jae 0x4bf01e
inc dword [ebp - 0x504]
jmp 0x4bf0b4
mov eax, dword [ebp - 0x5c4]
cmp byte [eax], 0x1c
jne 0x4bf093
mov eax, dword [ebp - 0x5c4]
mov eax, dword [eax + 1]
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x5c8]
mov al, byte [eax + 4]
sub al, 3
je 0x4bf04b
sub al, 5
je 0x4bf08a
jmp 0x4bf0b4
mov eax, dword [ebp - 0x5c8]
test byte [eax + 7], 1
je 0x4bf0b4
mov eax, dword [ebp - 0x5c8]
mov eax, dword [eax + 0x44]
movzx eax, byte [eax + 6]
inc dword [ebp + eax*4 - 0x538]
mov eax, dword [ebp - 0x5c8]
mov eax, dword [eax + 0x44]
movzx eax, byte [eax + 6]
mov eax, dword [ebp + eax*4 - 0x538]
mov edx, dword [ebp - 0x5c8]
mov dword [edx + 0x40], eax
jmp 0x4bf0b4
mov byte [ebp - 0x593], 1
jmp 0x4bf0b4
mov eax, dword [ebp - 0x5c4]
cmp byte [eax], 0x1d
jne 0x4bf0b4
mov eax, dword [ebp - 0x5c4]
mov eax, dword [eax + 1]
cmp byte [eax + 4], 8
jne 0x4bf0b4
mov byte [ebp - 0x593], 0
add dword [ebp - 0x444], 9
jmp 0x4bf0ca
inc dword [ebp - 0x504]
add dword [ebp - 0x444], 2
mov eax, dword [esi + 8]
cmp eax, dword [ebp - 0x444]
jg 0x4bef3f
cmp dword [ebp - 0x504], 0
jle 0x4bf0eb
push ebp
mov eax, ebx
call fcn.004bd3d8
pop ecx
cmp dword [ebp - 0x48c], 0
je 0x4bf10c
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 - 0x5ac]
jne 0x4bed52
mov byte [ebp - 0x415], 0
lea eax, [ebp - 0x414]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5cc]
mov ebx, dword [eax + 4]
mov eax, dword [ebx + 4]
cmp dword [eax + 0x18], 0
jle 0x4bf20a
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 0x4bf187
mov eax, dword [ebp - 0x568]
cmp dword [eax + 0x10], 0
jne 0x4bf187
mov eax, dword [ebp - 0x568]
cmp dword [eax + 0x40], 0xff000000
je 0x4bf1f2
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.00656c9c
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 - 0x5cc]
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 0x4bf12c
mov eax, dword [0x672428]
cmp byte [eax + 0x234], 2
jne 0x4bf4c9
mov edx, dword [ebp - 0x578]
mov eax, dword [ebp - 0x570]
call fcn.00630d54
lea edx, [ebp - 0x6c4]
mov eax, dword [0x672428]
mov eax, dword [eax + 0x235]
call fcn.00623444
mov eax, dword [ebp - 0x6c4]
call fcn.006562e4
mov dword [ebp - 0x574], eax
mov dl, 1
mov eax, dword [ebp - 0x574]
call fcn.00658220
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 0x4bf4a4
inc eax
mov dword [ebp - 0x5ac], 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 0x4bf497
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x5d0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5d0]
mov edx, dword [edx + 0xc]
add edx, edx
or eax, edx
mov dword [ebp - 0x58c], eax
jmp 0x4bf311
dec esi
test esi, esi
jle 0x4bf46d
mov eax, dword [ebp - 0x570]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + esi*4 - 4]
mov eax, dword [ebp - 0x580]
call fcn.0065bdfc
test eax, eax
je 0x4bf310
jmp 0x4bf46d
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 0x4bf46c
mov edx, esi
mov eax, dword [ebp - 0x530]
call fcn.00656dac
test al, al
jne 0x4bf497
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 0x4bf497
mov eax, dword [ebp - 0x578]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0x590]
lea eax, [eax + edx*4]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d4]
mov edx, dword [eax]
mov eax, dword [ebp - 0x57c]
mov ecx, dword [eax]
call dword [ecx + 0x44]
inc eax
jne 0x4bf45d
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c0e98
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
call fcn.0062afc8
push 0
push dword [ebp - 4]
push 0x4c0eb0
lea edx, [ebp - 0x6f0]
mov eax, dword [ebp - 0x5d4]
mov eax, dword [eax]
call fcn.0065d088
mov eax, dword [ebp - 0x6f0]
lea ecx, [ebp - 0x6ec]
mov dx, 0x20
call fcn.0065b898
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 - 0x5d4]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_CopyFileW
mov eax, dword [ebp - 0x5d4]
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.00656c78
jmp 0x4bf497
inc esi
mov eax, dword [ebp - 0x570]
cmp esi, dword [eax + 0x24]
jge 0x4bf497
mov eax, dword [ebp - 0x570]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x580]
call fcn.0065bdfc
test eax, eax
je 0x4bf33a
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4bf2ae
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4bf28e
mov eax, dword [ebp - 0x574]
call fcn.004028c0
call fcn.00656280
mov dword [ebp - 0x448], eax
call fcn.00656280
mov dword [ebp - 0x488], eax
call fcn.00656280
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x530]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4bf663
inc eax
mov dword [ebp - 0x5ac], 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 0x4c0ed0
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 0x4c0ef4
lea eax, [ebp - 0x544]
mov edx, 3
call fcn.004035dc
test byte [ebp - 0x58c], 2
jne 0x4bf591
lea eax, [ebp - 0x544]
mov edx, 0x4c0f0c
call fcn.00403524
jmp 0x4bf5a1
lea eax, [ebp - 0x544]
mov edx, 0x4c0f1c
call fcn.00403524
lea eax, [ebp - 0x544]
mov edx, 0x4c0f2c
call fcn.00403524
test byte [ebp - 0x58c], 1
jne 0x4bf5cc
lea eax, [ebp - 0x544]
mov edx, 0x4c0f0c
call fcn.00403524
jmp 0x4bf5dc
lea eax, [ebp - 0x544]
mov edx, 0x4c0f44
call fcn.00403524
push dword [ebp - 0x544]
push 0x4c0f54
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.0065d088
mov eax, dword [ebp - 0x6ec]
lea ecx, [ebp - 0x6c4]
mov dx, 0x20
call fcn.0065b898
mov eax, dword [ebp - 0x6c4]
lea edx, [ebp - 0x6f4]
call fcn.0065c920
push dword [ebp - 0x6f4]
push 0x4c0f6c
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 - 0x5ac]
jne 0x4bf505
mov eax, dword [0x672428]
test byte [eax + 0x209], 4
je 0x4bf745
lea eax, [ebp - 0x6f4]
push eax
mov eax, dword [0x672428]
mov eax, dword [eax + 0x22c]
mov dword [ebp - 0x71c], eax
mov byte [ebp - 0x718], 0xb
mov eax, dword [0x672428]
movzx eax, byte [eax + 0x223]
mov edx, dword [0x672608]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x714], eax
mov byte [ebp - 0x710], 6
mov eax, dword [0x672428]
mov eax, dword [eax + 0x228]
mov dword [ebp - 0x70c], eax
mov byte [ebp - 0x708], 0xb
mov eax, dword [0x672428]
mov eax, dword [eax + 0x230]
mov dword [ebp - 0x704], eax
mov byte [ebp - 0x700], 0xb
mov eax, dword [0x672428]
mov eax, dword [eax + 0x224]
mov dword [ebp - 0x6fc], eax
mov byte [ebp - 0x6f8], 0xb
lea edx, [ebp - 0x71c]
mov eax, 0x4c0f70
mov ecx, 4
call fcn.0065d7d4
mov eax, dword [ebp - 0x6f4]
lea edx, [ebp - 0x6e8]
call fcn.0062545c
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4c0fa0
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4c0fb8
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 0x4bfa15
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 [0x672394]
lea eax, [ebp - 0x690]
call fcn.00544658
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 0x4bf7cd
mov al, byte [ebp - 0x415]
dec eax
sub al, 9
jae 0x4bf7cd
xor eax, eax
mov dword [ebp - 0x688], eax
cmp dword [ebp - 0x654], 0
jne 0x4bf7e0
mov dword [ebp - 0x654], 0x80000000
mov dword [ebp - 0x64c], 0x80000000
mov eax, dword [0x672830]
movsx eax, word [eax]
mov dword [ebp - 0x634], eax
lea edx, [ebp - 0x584]
mov al, byte [ebp - 0x415]
call fcn.004b7418
push dword [ebp - 0x584]
push 0x4c0fec
push ebp
lea ecx, [ebp - 0x720]
lea eax, [ebp - 0x690]
mov dl, 1
call fcn.004b7a88
pop ecx
mov eax, dword [ebp - 0x720]
lea edx, [ebp - 0x6f4]
call fcn.004b81e0
push dword [ebp - 0x6f4]
push 0x4c0ff8
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 0x4bf8fa
mov eax, dword [ebp - 0x484]
mov eax, dword [eax + 4]
cmp dword [eax + 0x18], 0
jle 0x4bf8fa
mov eax, dword [0x672428]
test byte [eax + 0x10], 0x80
jne 0x4bf8fa
mov edx, 0x4c1004
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.004b7a88
pop ecx
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004b81e0
mov edx, dword [ebp - 0x6f4]
lea ecx, [ebp - 0x6e8]
mov eax, 0x4c1014
call fcn.0065d910
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4c1024
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 0x4bfa15
inc eax
mov dword [ebp - 0x5ac], 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 [0x67262c]
lea eax, [ebp - 0x47c]
call fcn.0054471c
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.004b7694
pop ecx
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004b81e0
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x728], eax
mov byte [ebp - 0x724], 0xb
lea edx, [ebp - 0x738]
mov eax, 0x4c1044
mov ecx, 2
call fcn.0065d7d4
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4bf912
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4bf768
mov eax, dword [ebp - 0x484]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4bfc84
inc eax
mov dword [ebp - 0x5ac], 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.0x4bfa6e.0
mov al, byte [eax + 0x4bfa75]
jmp dword [eax*4 + 0x4bfa8c]
lea eax, [ebp - 0x584]
mov edx, 0x4c1058
call fcn.0040330c
jmp 0x4bfb6c
lea eax, [ebp - 0x584]
mov edx, 0x4c106c
call fcn.0040330c
jmp 0x4bfb6c
lea eax, [ebp - 0x584]
mov edx, 0x4c1080
call fcn.0040330c
jmp 0x4bfb6c
lea eax, [ebp - 0x584]
mov edx, 0x4c1094
call fcn.0040330c
jmp 0x4bfb6c
lea eax, [ebp - 0x584]
mov edx, 0x4c10a8
call fcn.0040330c
jmp 0x4bfb6c
mov eax, dword [esi + 0x28]
call fcn.00546fd4
test al, al
je 0x4bfb5c
mov eax, dword [esi + 0x2c]
mov ecx, 3
cdq
idiv ecx
dec edx
je 0x4bfb26
dec edx
je 0x4bfb38
jmp 0x4bfb4a
lea eax, [ebp - 0x584]
mov edx, 0x4c10c8
call fcn.0040330c
jmp 0x4bfb6c
lea eax, [ebp - 0x584]
mov edx, 0x4c10d8
call fcn.0040330c
jmp 0x4bfb6c
lea eax, [ebp - 0x584]
mov edx, 0x4c10e8
call fcn.0040330c
jmp 0x4bfb6c
lea eax, [ebp - 0x584]
mov edx, 0x4c10f8
call fcn.0040330c
lea ecx, [ebp - 0x6e8]
mov eax, 0x4c1100
mov edx, dword [ebp - 0x584]
call fcn.0065d910
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 [0x67262c]
lea eax, [ebp - 0x47c]
call fcn.0054471c
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.004b7694
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.004b81e0
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x740], eax
mov byte [ebp - 0x73c], 0xb
lea edx, [ebp - 0x748]
mov eax, 0x4c1114
mov ecx, 1
call fcn.0065d7d4
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4bfa4d
mov byte [ebp - 0x415], 0
lea eax, [ebp - 0x414]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x5d8]
mov esi, dword [eax + 4]
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x4bfdfc
inc eax
mov dword [ebp - 0x5ac], eax
xor ebx, ebx
cmp ebx, dword [esi + 0x14]
je 0x4bfdef
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 - 0x5d8]
lea edx, [eax + 8]
lea eax, [ebp - 0x690]
call fcn.00544658
cmp dword [ebp - 0x64c], 1
je 0x4bfd0c
cmp dword [ebp - 0x64c], 2
jne 0x4bfd1e
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.005447d8
test al, al
je 0x4bfd42
mov eax, dword [ebp - 0x5d8]
mov eax, dword [eax + 0x64]
mov edx, ebx
call fcn.00656c78
jmp 0x4bfdef
cmp byte [ebp - 0x415], 0
jne 0x4bfd58
lea eax, [ebp - 0x584]
call fcn.00403274
jmp 0x4bfd69
lea edx, [ebp - 0x584]
mov al, byte [ebp - 0x415]
call fcn.004b7418
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.004b7a88
pop ecx
mov eax, dword [ebp - 0x6e8]
lea edx, [ebp - 0x6f4]
call fcn.004b81e0
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x728], eax
mov byte [ebp - 0x724], 0xb
lea edx, [ebp - 0x738]
mov eax, 0x4c1120
mov ecx, 2
call fcn.0065d7d4
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4bfcc4
inc byte [ebp - 0x415]
add dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xa
jne 0x4bfc97
mov edx, 0x4c1134
mov eax, dword [ebp - 0x528]
call fcn.004b5854
mov dword [ebp - 0x52c], eax
mov ecx, 0x4c1144
mov edx, 0x4c116c
mov eax, dword [ebp - 0x52c]
call fcn.004b5638
mov ecx, 0x4c117c
mov edx, 0x4c1188
mov eax, dword [ebp - 0x52c]
call fcn.004b5638
mov ecx, 0x4c1198
mov edx, 0x4c11a8
mov eax, dword [ebp - 0x52c]
call fcn.004b5638
mov edx, 0x4c11c4
mov eax, dword [ebp - 0x52c]
call fcn.004b5854
mov dword [ebp - 0x5dc], eax
mov ecx, 0x4c11d8
mov edx, 0x4c1204
mov eax, dword [ebp - 0x5dc]
call fcn.004b5638
mov ecx, 0x4c1144
mov edx, 0x4c1218
mov eax, dword [ebp - 0x5dc]
call fcn.004b5638
mov edx, 0x4c122c
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx]
call fcn.004038bc
mov edx, 0x4c1240
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
mov dword [ebp - 0x5e0], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 4], 0
jne 0x4bff02
mov eax, dword [ebp - 0x5e0]
add eax, 0x24
mov edx, 0x4c1250
call fcn.004038bc
jmp 0x4bff19
mov eax, dword [ebp - 0x5e0]
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 - 0x5e0]
mov eax, dword [eax + 0x24]
call fcn.004bd720
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4c126c
mov eax, dword [ebp - 0x5e0]
call fcn.004b5668
mov ecx, 0x4c1280
mov edx, 0x4c128c
mov eax, dword [ebp - 0x5e0]
call fcn.004b5638
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
cmp dword [eax + 8], 0
je 0x4bff85
mov edx, 0x4c12a0
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
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 0x4bffb2
mov edx, 0x4c12b4
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
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 0x4bffdf
mov edx, 0x4c12cc
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
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 0x4c000c
mov edx, 0x4c12e4
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
add eax, 0x24
mov edx, dword [ebp + 0xc]
mov edx, dword [edx - 0xc]
mov edx, dword [edx + 0x24]
call fcn.004038bc
mov edx, 0x4c12f4
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
mov dword [ebp - 0x5e4], eax
mov ecx, 0x4c1198
mov edx, 0x4c130c
mov eax, dword [ebp - 0x5e4]
call fcn.004b5638
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 0x4c0075
lea eax, [ebp - 0x6e8]
call fcn.00626868
mov ecx, dword [ebp - 0x6e8]
lea eax, [ebp - 0x540]
mov edx, 0x4c1318
call fcn.00403568
mov eax, dword [ebp - 0x5e4]
add eax, 0x24
mov edx, dword [ebp - 0x540]
call fcn.00403a34
mov edx, 0x4c1328
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
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 0x4c00d4
mov edx, 0x4c133c
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
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 0x4c0101
mov edx, 0x4c1350
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
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 0x4c0151
mov edx, 0x4c1364
mov eax, dword [ebp - 0x5dc]
call fcn.004b5854
mov dword [ebp - 0x5e8], eax
mov ecx, 0x4c1374
mov edx, 0x4c1384
mov eax, dword [ebp - 0x5e8]
call fcn.004b5638
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax - 0xc]
mov ecx, dword [ecx + 0x20]
mov edx, 0x4c1394
mov eax, dword [ebp - 0x5e8]
call fcn.004b5668
mov edx, 0x4c13a4
mov eax, dword [ebp - 0x52c]
call fcn.004b5854
mov dword [ebp - 0x420], eax
mov edx, 0x4c13b8
mov eax, dword [ebp - 0x420]
call fcn.004b5854
mov dword [ebp - 0x5ec], eax
mov ecx, 0x4c13c8
mov edx, 0x4c130c
mov eax, dword [ebp - 0x5ec]
call fcn.004b5638
mov ecx, 0x4c13d4
mov edx, 0x4c13e4
mov eax, dword [ebp - 0x5ec]
call fcn.004b5638
mov ecx, 0x4c13f4
mov edx, 0x4c1418
mov eax, dword [ebp - 0x5ec]
call fcn.004b5638
mov edx, 0x4c13b8
mov eax, dword [ebp - 0x420]
call fcn.004b5854
mov dword [ebp - 0x5f0], eax
mov ecx, 0x4c142c
mov edx, 0x4c130c
mov eax, dword [ebp - 0x5f0]
call fcn.004b5638
mov ecx, 0x4c143c
mov edx, 0x4c13e4
mov eax, dword [ebp - 0x5f0]
call fcn.004b5638
mov ecx, 0x4c1450
mov edx, 0x4c1418
mov eax, dword [ebp - 0x5f0]
call fcn.004b5638
cmp dword [ebp - 0x44c], 0
je 0x4c027e
mov eax, dword [ebp - 0x44c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 0x3c], 0
je 0x4c027e
mov edx, 0x4c13b8
mov eax, dword [ebp - 0x420]
call fcn.004b5854
mov dword [ebp - 0x5f4], eax
mov ecx, 0x4c1464
mov edx, 0x4c130c
mov eax, dword [ebp - 0x5f4]
call fcn.004b5638
mov ecx, 0x4c1478
mov edx, 0x4c13e4
mov eax, dword [ebp - 0x5f4]
call fcn.004b5638
mov ecx, 0x4c1450
mov edx, 0x4c1418
mov eax, dword [ebp - 0x5f4]
call fcn.004b5638
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
sub eax, 2
test eax, eax
jl 0x4c0350
inc eax
mov dword [ebp - 0x5ac], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004b8728
pop ecx
test al, al
jne 0x4c0343
mov edx, 0x4c13b8
mov eax, dword [ebp - 0x420]
call fcn.004b5854
mov dword [ebp - 0x5f8], 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.0065cf64
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 0x4c1488
call fcn.00403b24
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4c130c
mov eax, dword [ebp - 0x5f8]
call fcn.004b5668
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + ebx*4]
mov edx, 0x4c13e4
mov eax, dword [ebp - 0x5f8]
call fcn.004b5638
mov ecx, 0x4c1498
mov edx, 0x4c1418
mov eax, dword [ebp - 0x5f8]
call fcn.004b5638
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4c029b
mov eax, dword [ebp - 0x57c]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x4c0414
inc eax
mov dword [ebp - 0x5ac], eax
xor ebx, ebx
mov edx, 0x4c13b8
mov eax, dword [ebp - 0x420]
call fcn.004b5854
mov esi, eax
lea ecx, [ebp - 0x6e8]
lea edx, [ebx + 1]
mov eax, 0x4c14b0
call fcn.0065da0c
mov ecx, dword [ebp - 0x6e8]
mov edx, 0x4c130c
mov eax, esi
call fcn.004b5638
lea edx, [ebp - 0x6f0]
mov eax, dword [ebp - 0x57c]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + ebx*4]
call fcn.0065d088
mov eax, dword [ebp - 0x6f0]
lea ecx, [ebp - 0x6ec]
mov dx, 0x20
call fcn.0065b898
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 0x4c14c0
call fcn.00403b24
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4c13e4
mov eax, esi
call fcn.004b5668
mov ecx, 0x4c14d8
mov edx, 0x4c1418
mov eax, esi
call fcn.004b5638
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4c036b
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 0x4c047b
inc eax
mov dword [ebp - 0x5ac], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004b8728
pop ecx
test al, al
jne 0x4c0472
push ebp
mov eax, ebx
call fcn.004bcda0
pop ecx
mov esi, eax
mov eax, dword [ebp + 8]
cmp esi, dword [eax]
jle 0x4c046a
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov eax, dword [ebp - 0x524]
add dword [eax], esi
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4c0446
mov eax, dword [ebp - 0x448]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x4c04ee
inc eax
mov dword [ebp - 0x5ac], 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, 0x4c14f4
mov ecx, 1
call fcn.0065d7d4
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4c0492
mov eax, dword [ebp - 0x488]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x4c0561
inc eax
mov dword [ebp - 0x5ac], 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, 0x4c1500
mov ecx, 1
call fcn.0065d7d4
mov edx, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4c0505
lea edx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
call fcn.00657218
mov eax, dword [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c1510
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
pop edx
call fcn.006261a0
cmp dword [ebp - 0x44c], 0
je 0x4c0612
mov eax, dword [ebp - 0x44c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 0x3c], 0
je 0x4c0612
mov eax, dword [ebp - 0x53c]
mov edx, dword [eax]
call dword [edx + 0x34]
mov edx, 0x4c0fa0
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, 0x4c1534
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea edx, [ebp - 0x6e8]
mov eax, dword [ebp - 0x53c]
call fcn.00657218
mov eax, dword [ebp - 0x6e8]
push eax
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c1568
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
pop edx
call fcn.006261a0
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 0x4c0686
mov edx, 0x4c11c4
mov eax, dword [ebp - 0x52c]
call fcn.004b5534
mov edx, 0x4c1364
call fcn.004b5854
mov dword [ebp - 0x5fc], eax
mov ecx, 0x4c158c
mov edx, 0x4c1384
mov eax, dword [ebp - 0x5fc]
call fcn.004b5638
mov ecx, 0x4c158c
mov edx, 0x4c1394
mov eax, dword [ebp - 0x5fc]
call fcn.004b5638
mov edx, 0x4c159c
mov eax, dword [ebp - 0x52c]
call fcn.004b5854
mov dword [ebp - 0x600], eax
mov ecx, 0x4c13c8
mov edx, 0x4c15ac
mov eax, dword [ebp - 0x600]
call fcn.004b5638
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
sub eax, 2
test eax, eax
jl 0x4c0780
inc eax
mov dword [ebp - 0x5ac], eax
xor ebx, ebx
push ebp
mov eax, ebx
call fcn.004b8728
pop ecx
test al, al
jne 0x4c0773
mov edx, 0x4c15b8
mov eax, dword [ebp - 0x600]
call fcn.004b5854
mov dword [ebp - 0x604], 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.0065cf64
mov ecx, dword [ebp - 0x6ec]
lea eax, [ebp - 0x6c4]
mov edx, 0x4c1488
call fcn.00403b24
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4c15c8
mov eax, dword [ebp - 0x604]
call fcn.004b5668
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 0x4c0773
mov ecx, 0x4c15d8
mov edx, 0x4c15e4
mov eax, dword [ebp - 0x604]
call fcn.004b5638
inc ebx
dec dword [ebp - 0x5ac]
jne 0x4c06ce
cmp dword [ebp - 0x450], 0
jne 0x4c0796
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0x10], 0
je 0x4c08f5
mov edx, 0x4c15f4
mov eax, dword [ebp - 0x52c]
call fcn.004b5854
mov dword [ebp - 0x608], eax
cmp dword [ebp - 0x450], 0
je 0x4c080b
mov edx, 0x4c1604
mov eax, dword [ebp - 0x608]
call fcn.004b5854
mov dword [ebp - 0x60c], eax
mov ecx, 0x4c158c
mov edx, 0x4c1618
mov eax, dword [ebp - 0x60c]
call fcn.004b5638
mov ecx, 0x4c1628
mov edx, 0x4c1638
mov eax, dword [ebp - 0x60c]
call fcn.004b5638
mov ecx, dword [ebp - 0x450]
mov edx, 0x4c13e4
mov eax, dword [ebp - 0x60c]
call fcn.004b5638
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0x10], 0
je 0x4c0880
mov edx, 0x4c1604
mov eax, dword [ebp - 0x608]
call fcn.004b5854
mov dword [ebp - 0x610], eax
mov ecx, 0x4c15ac
mov edx, 0x4c1618
mov eax, dword [ebp - 0x610]
call fcn.004b5638
mov ecx, 0x4c1648
mov edx, 0x4c1638
mov eax, dword [ebp - 0x610]
call fcn.004b5638
push ebp
lea ecx, [ebp - 0x6e8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0x10]
or edx, 0xffffffff
call fcn.004b87d4
pop ecx
mov ecx, dword [ebp - 0x6e8]
mov edx, 0x4c13e4
mov eax, dword [ebp - 0x610]
call fcn.004b5638
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0x14], 0
je 0x4c08f5
mov edx, 0x4c1604
mov eax, dword [ebp - 0x608]
call fcn.004b5854
mov dword [ebp - 0x614], eax
mov ecx, 0x4c1664
mov edx, 0x4c1618
mov eax, dword [ebp - 0x614]
call fcn.004b5638
mov ecx, 0x4c1674
mov edx, 0x4c1638
mov eax, dword [ebp - 0x614]
call fcn.004b5638
push ebp
lea ecx, [ebp - 0x6e8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0x14]
or edx, 0xffffffff
call fcn.004b87d4
pop ecx
mov ecx, dword [ebp - 0x6e8]
mov edx, 0x4c13e4
mov eax, dword [ebp - 0x614]
call fcn.004b5638
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c1684
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
call fcn.0062afc8
lea eax, [ebp - 0x6c4]
mov ecx, 0x4c169c
mov edx, dword [ebp - 4]
call fcn.00403b24
mov eax, dword [ebp - 0x6c4]
mov edx, 0x4c16d4
call fcn.006261a0
mov eax, dword [0x67207c]
mov byte [eax], 1
mov edx, 0x4c13c8
mov eax, dword [ebp - 0x528]
call fcn.004b5854
mov dword [ebp - 0x618], eax
mov ecx, 0x4c17b8
mov edx, 0x4c116c
mov eax, dword [ebp - 0x618]
call fcn.004b5638
mov ecx, dword [ebp - 0x4a0]
mov edx, 0x4c17e8
mov eax, dword [ebp - 0x618]
call fcn.004b5638
mov ecx, 0x4c17fc
mov edx, 0x4c1188
mov eax, dword [ebp - 0x618]
call fcn.004b5638
mov edx, 0x4c180c
mov eax, dword [ebp - 0x618]
call fcn.004b5854
mov dword [ebp - 0x61c], eax
mov edx, 0x4c1364
mov eax, dword [ebp - 0x61c]
call fcn.004b5854
mov dword [ebp - 0x620], eax
mov ecx, 0x4c181c
mov edx, 0x4c1384
mov eax, dword [ebp - 0x620]
call fcn.004b5638
mov ecx, dword [ebp - 0x540]
mov edx, 0x4c1394
mov eax, dword [ebp - 0x620]
call fcn.004b5638
mov edx, 0x4c1364
mov eax, dword [ebp - 0x61c]
call fcn.004b5854
mov dword [ebp - 0x560], eax
mov edx, 0x4c1364
mov eax, dword [ebp - 0x61c]
call fcn.004b5854
mov dword [ebp - 0x624], eax
mov ecx, 0x4c182c
mov edx, 0x4c1384
mov eax, dword [ebp - 0x624]
call fcn.004b5638
xor ecx, ecx
mov edx, 0x4c1394
mov eax, dword [ebp - 0x624]
call fcn.004b5698
mov edx, 0x4c1364
mov eax, dword [ebp - 0x61c]
call fcn.004b5854
mov dword [ebp - 0x628], eax
mov ecx, 0x4c1848
mov edx, 0x4c1384
mov eax, dword [ebp - 0x628]
call fcn.004b5638
xor ecx, ecx
mov edx, 0x4c1394
mov eax, dword [ebp - 0x628]
call fcn.004b5698
mov edx, 0x4c1864
mov eax, dword [ebp - 0x618]
call fcn.004b5854
mov edx, 0x4c1664
call fcn.004b5854
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, 0x4c1878
mov eax, dword [ebp - 0x618]
call fcn.004b5854
mov dword [ebp - 0x55c], eax
jmp 0x4c0aeb
push ebp
mov edx, 1
mov eax, dword [ebp - 0x55c]
call fcn.004bd4a0
pop ecx
mov eax, dword [ebp - 0x430]
mov eax, dword [eax + 0x24]
dec eax
cmp eax, dword [ebp - 0x508]
jg 0x4c0ad9
mov ecx, 0x4c1888
mov edx, 0x4c1384
mov eax, dword [ebp - 0x560]
call fcn.004b5638
mov ecx, dword [ebp - 0x50c]
mov edx, 0x4c1394
mov eax, dword [ebp - 0x560]
call fcn.004b5698
mov eax, dword [ebp - 0x618]
add eax, 0x34
mov ecx, 0x4c1898
mov edx, dword [ebp - 4]
call fcn.00403b24
push 0
xor ecx, ecx
mov edx, 0x4c18b8
mov eax, dword [ebp - 0x618]
call fcn.004b5d14
mov eax, dword [ebp - 0x52c]
add eax, 0x34
mov ecx, 0x4c194c
mov edx, dword [ebp - 4]
call fcn.00403b24
push 0
xor ecx, ecx
mov edx, 0x4c1974
mov eax, dword [ebp - 0x52c]
call fcn.004b5d14
mov eax, dword [0x67207c]
mov byte [eax], 0
mov eax, dword [ebp - 0x42c]
call fcn.00656ff0
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.00656ff0
dec byte [ebp - 0x415]
sub dword [ebp - 0x62c], 0x68
cmp byte [ebp - 0x415], 0xff
jne 0x4c0baa
mov eax, dword [ebp - 0x480]
call fcn.00656ff0
mov eax, dword [ebp - 0x434]
call fcn.00656ff0
mov eax, dword [ebp - 0x514]
call fcn.00656ff0
mov eax, dword [ebp - 0x4a4]
call fcn.004028c0
mov eax, dword [ebp - 0x430]
call fcn.004028c0
mov eax, dword [ebp - 0x564]
call fcn.00656ff0
mov eax, dword [0x672908]
mov dl, byte [ebp - 0x555]
mov byte [eax], dl
mov eax, dword [ebp - 0x454]
call fcn.004028c0
mov eax, dword [0x6725c0]
mov eax, dword [eax]
call fcn.004028c0
mov eax, dword [0x672984]
mov eax, dword [eax]
call fcn.004028c0
mov eax, dword [ebp - 0x528]
call fcn.004b5e0c
mov eax, dword [ebp - 0x530]
call fcn.00656ff0
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.00656eec
mov eax, dword [ebp - 0x41c]
call fcn.00656ff0
mov eax, dword [0x672038]
mov edx, 0x4c19a4
call fcn.004032c8
mov eax, dword [ebp + 0xc]
mov edx, dword [eax - 0x18]
mov eax, dword [ebp - 4]
call fcn.004b4fe4
mov eax, dword [0x672038]
call fcn.00403274
mov eax, dword [ebp - 4]
call fcn.0062b708
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c0d6a
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