Function at 0x452840
Capabilities:
Copy file
Create directory
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ba716
mov eax, dword fs:[0]
push eax
sub esp, 0x5a8
push esi
push edi
mov eax, dword [0x4dcac0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4e8], ecx
mov eax, dword [ebp - 0x4e8]
movzx ecx, byte [eax + 0x84]
test ecx, ecx
jne 0x457213
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x204
call fcn.0044ec50
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x457213
call fcn.0044daf0
mov dword [ebp - 0x54], eax
push 1
mov ecx, dword [ebp - 0x4e8]
call fcn.0048d2ce
push 0
mov ecx, dword [ebp - 0x4e8]
call fcn.004592f0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x60]
call fcn.0040e300
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.0040e300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c]
call fcn.0040e300
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x30]
call fcn.0040e300
mov byte [ebp - 4], 3
lea edx, [ebp - 0x5c]
push edx
push 0x804
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x5c]
call fcn.0040d520
movzx eax, al
test eax, eax
je 0x452972
push 0
push 0x4c24c4
push 0x4c24cc
mov ecx, dword [ebp - 0x4e8]
call fcn.0048c81c
mov ecx, dword [ebp - 0x4e8]
mov byte [ecx + 0x84], 1
jmp 0x452992
push ecx
mov ecx, esp
mov dword [ebp - 0x29c], esp
lea edx, [ebp - 0x5c]
push edx
call fcn.0040e320
mov dword [ebp - 0x4ec], eax
call fcn.00407ae0
add esp, 4
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax + 0x78]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x28], 0xe
mov dword [ebp - 0x58], 4
mov eax, dword [ebp - 0x58]
sub eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.00401400
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x2c], 0
jmp 0x4529fe
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x38]
jge 0x452a11
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x2c]
mov byte [ecx], 1
jmp 0x4529f5
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], 0xffffffff
mov ecx, dword [ebp - 0x48]
mov byte [ecx + 1], 0
mov edx, dword [ebp - 0x48]
mov byte [edx + 2], 0
mov eax, 2
mov ecx, dword [ebp - 0x40]
mov word [ecx], ax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x2c], 3
jmp 0x452a75
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x38]
jge 0x452ad9
mov dword [ebp - 0x64], 0
jmp 0x452a8f
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x24]
jg 0x452aaf
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x40]
movsx ecx, word [ecx + eax*2]
mov eax, dword [ebp - 0x2c]
cdq
idiv ecx
test edx, edx
jne 0x452aad
jmp 0x452aaf
jmp 0x452a86
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x24]
jle 0x452ad7
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x40]
mov ax, word [ebp - 0x2c]
mov word [edx + ecx*2], ax
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x2c]
mov byte [ecx], 0
jmp 0x452a6c
mov edx, dword [ebp - 0x4e8]
movzx eax, byte [edx + 0x84]
test eax, eax
jne 0x4570b1
push 0xc
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x2c], 0
jmp 0x452b1c
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 3
jge 0x452b46
push 0x14
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x2ac]
mov dword [ecx + eax*4], edx
jmp 0x452b13
mov dword [ebp - 0xf8], 0x3e8
mov dword [ebp - 0x18], 0
jmp 0x452b62
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x452bb5
mov eax, dword [ebp - 0xf8]
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x2c], 0
jmp 0x452b8e
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 9
jg 0x452bb3
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x188]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x2c]
mov word [ecx + edx*2], ax
jmp 0x452b85
jmp 0x452b59
xor ecx, ecx
mov eax, dword [ebp - 0x50]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x2c], 0
jmp 0x452bf5
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x10]
jg 0x452c71
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x569c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + edx*4]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x188]
mov eax, dword [edx]
movsx ecx, word [eax + ecx*2]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x569c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
movsx edx, word [eax + 2]
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 4]
movsx edx, word [eax + edx*2]
add ecx, edx
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x569c]
mov eax, dword [ebp - 0x2c]
mov edx, dword [edx + eax*4]
movsx eax, word [edx + 4]
mov edx, dword [ebp - 0x188]
mov edx, dword [edx + 8]
movsx eax, word [edx + eax*2]
add ecx, eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1b4]
mov word [eax + edx*2], cx
jmp 0x452bec
push 0x4c
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
je 0x452cc4
mov ecx, dword [ebp - 0x2b4]
mov dword [ecx], 0x12
push fcn.0040e3c0
push fcn.0040e300
push 0x12
push 4
mov edx, dword [ebp - 0x2b4]
add edx, 4
push edx
call fcn.004a59f5
mov eax, dword [ebp - 0x2b4]
add eax, 4
mov dword [ebp - 0x4f0], eax
jmp 0x452cce
mov dword [ebp - 0x4f0], 0
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xdc], 0
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x16c], 0
je 0x452d2b
mov eax, dword [ebp - 0x5c]
push eax
push 0x4c24e0
lea ecx, [ebp - 0x60]
push ecx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0xb4]
add ecx, 4
call fcn.0040e3e0
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x170], 0
je 0x452d72
mov ecx, dword [ebp - 0x5c]
push ecx
push 0x4c24ec
lea edx, [ebp - 0x60]
push edx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
add ecx, 8
call fcn.0040e3e0
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x174], 0
je 0x452db9
mov edx, dword [ebp - 0x5c]
push edx
push 0x4c24f8
lea eax, [ebp - 0x60]
push eax
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0xb4]
add ecx, 0xc
call fcn.0040e3e0
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x178], 0
je 0x452e00
mov eax, dword [ebp - 0x5c]
push eax
push 0x4c2504
lea ecx, [ebp - 0x60]
push ecx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x10
call fcn.0040e3e0
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x17c], 0
je 0x452e47
mov ecx, dword [ebp - 0x5c]
push ecx
push 0x4c2510
lea edx, [ebp - 0x60]
push edx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x14
call fcn.0040e3e0
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x180], 0
je 0x452e8e
mov edx, dword [ebp - 0x5c]
push edx
push 0x4c2520
lea eax, [ebp - 0x60]
push eax
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x18
call fcn.0040e3e0
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x184], 0
je 0x452ed5
mov eax, dword [ebp - 0x5c]
push eax
push 0x4c252c
lea ecx, [ebp - 0x60]
push ecx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x1c
call fcn.0040e3e0
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x188], 0
je 0x452f1c
mov ecx, dword [ebp - 0x5c]
push ecx
push 0x4c253c
lea edx, [ebp - 0x60]
push edx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x20
call fcn.0040e3e0
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x18c], 0
je 0x452f63
mov edx, dword [ebp - 0x5c]
push edx
push 0x4c254c
lea eax, [ebp - 0x60]
push eax
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x24
call fcn.0040e3e0
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x190], 0
je 0x452faa
mov eax, dword [ebp - 0x5c]
push eax
push str._sAC
lea ecx, [ebp - 0x60]
push ecx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x28
call fcn.0040e3e0
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x194], 0
je 0x452ff1
mov ecx, dword [ebp - 0x5c]
push ecx
push str._sl
lea edx, [ebp - 0x60]
push edx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x2c
call fcn.0040e3e0
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x198], 0
je 0x453038
mov edx, dword [ebp - 0x5c]
push edx
push str._s
lea eax, [ebp - 0x60]
push eax
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x30
call fcn.0040e3e0
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x19c], 0
je 0x45307f
mov eax, dword [ebp - 0x5c]
push eax
push 0x4c2588
lea ecx, [ebp - 0x60]
push ecx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x34
call fcn.0040e3e0
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x1a0], 0
je 0x4530c6
mov ecx, dword [ebp - 0x5c]
push ecx
push 0x4c2594
lea edx, [ebp - 0x60]
push edx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x38
call fcn.0040e3e0
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x1a4], 0
je 0x45310d
mov edx, dword [ebp - 0x5c]
push edx
push 0x4c259c
lea eax, [ebp - 0x60]
push eax
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x3c
call fcn.0040e3e0
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x1a8], 0
je 0x453154
mov eax, dword [ebp - 0x5c]
push eax
push 0x4c25a4
lea ecx, [ebp - 0x60]
push ecx
call fcn.0040ef80
add esp, 0xc
push 0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0xb4]
add ecx, 0x40
call fcn.0040e3e0
mov dword [ebp - 0x194], 1
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x7c], 1
mov dword [ebp - 0x190], 1
mov dword [ebp - 0x13c], 1
mov dword [ebp - 0xc0], 1
mov dword [ebp - 0x1b0], 1
mov dword [ebp - 0xf4], 1
mov dword [ebp - 0x110], 1
mov dword [ebp - 0x12c], 1
mov dword [ebp - 0x18c], 1
mov dword [ebp - 0x78], 1
mov dword [ebp - 0x160], 1
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0xd8], 1
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x158], 0xffffffff
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0xffffffff
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0x148], 0xffffffff
mov dword [ebp - 0xec], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x180], 0xffffffff
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xa4], 0xffffffff
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x1a4], 0xffffffff
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x134], 0xffffffff
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x94], 0xffffffff
mov dword [ebp - 0x108], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x174], 0xffffffff
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x17c], 0xffffffff
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x8c], 0xffffffff
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xffffffff
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x170], 0xfffffff3
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0xfc], 0xfffffff3
mov dword [ebp - 0x84], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x16c], 0xfffffff3
mov dword [ebp - 0x168], 1
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x16c], 0
je 0x453507
push 1
push 0
push 0x1021
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 1
jge 0x45342d
mov dword [ebp - 0x194], 1
mov ecx, dword [ebp - 0x194]
cmp ecx, dword [ebp - 0x168]
jle 0x453447
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x168], edx
lea eax, [ebp - 0x60]
push eax
push 0x1022
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x1a8], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
push ecx
mov edx, dword [ebp - 0x1a8]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x2c0], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x4f4], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x4f8], eax
mov ecx, dword [ebp - 0x4f8]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x170], 0
je 0x453621
push 1
push 0
push 0x102a
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 1
jge 0x453547
mov dword [ebp - 0x114], 1
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x168]
jle 0x453561
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x102b
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x14c], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x2cc], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x4fc], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x174], 0
je 0x45372c
push 1
push 0
push 0x102d
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 1
jge 0x453658
mov dword [ebp - 0x7c], 1
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x168]
jle 0x45366c
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x102e
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0xec], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0xec]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x2d8], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x504], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x178], 0
je 0x453846
push 1
push 0
push 0x1033
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 1
jge 0x45376c
mov dword [ebp - 0x190], 1
mov eax, dword [ebp - 0x190]
cmp eax, dword [ebp - 0x168]
jle 0x453786
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x1034
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe8]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x2e4], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x50c], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x17c], 0
je 0x453960
push 1
push 0
push 0x1036
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 1
jge 0x453886
mov dword [ebp - 0x13c], 1
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x168]
jle 0x4538a0
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x1037
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x10c], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x2f0], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x514], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x180], 0
je 0x453a7a
push 1
push 0
push 0x1039
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 1
jge 0x4539a0
mov dword [ebp - 0xc0], 1
mov eax, dword [ebp - 0xc0]
cmp eax, dword [ebp - 0x168]
jle 0x4539ba
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x103a
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp - 0xc8]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x2fc], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x51c], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x184], 0
je 0x453b94
push 1
push 0
push 0x103c
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 1
jge 0x453aba
mov dword [ebp - 0x1b0], 1
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x168]
jle 0x453ad4
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x103d
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0xac], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0xac]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x308], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x524], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x528], eax
mov ecx, dword [ebp - 0x528]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x188], 0
je 0x453cae
push 1
push 0
push 0x1042
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 1
jge 0x453bd4
mov dword [ebp - 0xf4], 1
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x168]
jle 0x453bee
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x1043
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x108], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0x108]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x314], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x52c], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x530], eax
mov ecx, dword [ebp - 0x530]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x18c], 0
je 0x453dc8
push 1
push 0
push 0x1045
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 1
jge 0x453cee
mov dword [ebp - 0x110], 1
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x168]
jle 0x453d08
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x1046
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x320], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x534], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x190], 0
je 0x453edf
push 1
push 0
push 0x1048
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 1
jge 0x453e08
mov dword [ebp - 0x12c], 1
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebp - 0x168]
jle 0x453e22
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x1049
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x120], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x120]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x32c], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x53c], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x540], eax
mov ecx, dword [ebp - 0x540]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x194], 0
je 0x453ff9
push 1
push 0
push 0x104b
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 1
jge 0x453f1f
mov dword [ebp - 0x18c], 1
mov eax, dword [ebp - 0x18c]
cmp eax, dword [ebp - 0x168]
jle 0x453f39
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x104c
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0xa0], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 0xa0]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x338], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x544], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x548]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x198], 0
je 0x454104
push 1
push 0
push 0x1051
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 1
jge 0x454030
mov dword [ebp - 0x78], 1
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x168]
jle 0x454044
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x1052
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x198], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x198]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x344], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x54c], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp - 0x550]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x19c], 0
je 0x454212
push 1
push 0
push 0x1054
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 1
jge 0x454144
mov dword [ebp - 0x160], 1
mov eax, dword [ebp - 0x160]
cmp eax, dword [ebp - 0x168]
jle 0x45415e
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x1055
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x350], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x554], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x558]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x1a4], 0
je 0x45432c
push 1
push 0
push 0x1031
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 1
jge 0x454252
mov dword [ebp - 0xa8], 1
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x168]
jle 0x45426c
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x103e
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0xd0], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x55c], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x560], eax
mov ecx, dword [ebp - 0x560]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x1a8], 0
je 0x454446
push 1
push 0
push 0x1040
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 1
jge 0x45436c
mov dword [ebp - 0xd8], 1
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x168]
jle 0x454386
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x168], ecx
lea edx, [ebp - 0x60]
push edx
push 0x104d
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x60]
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0x364]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
push ecx
mov edx, dword [ebp - 0x84]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x368], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x564], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x1a0], 0
je 0x454a61
lea ecx, [ebp - 0x1c8]
call fcn.00483d89
mov byte [ebp - 4], 4
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x90
call fcn.0044edf0
push eax
push 0
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x90
call fcn.0049097e
lea ecx, [ebp - 0x1c8]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x36c], esp
lea edx, [ebp - 0x60]
push edx
call fcn.0040e320
mov dword [ebp - 0x56c], eax
call fcn.00407d60
add esp, 8
lea ecx, [ebp - 0x1c8]
call fcn.0044df20
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
add eax, 3
mov dword [ebp - 0x1cc], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1cc]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x370], eax
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x184], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1cc]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x98], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1cc]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x138], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1cc]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x37c]
mov dword [ebp - 0x15c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1cc]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x1ac], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1cc]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x158], 0xffffffff
mov dword [ebp - 0x2c], 0
jmp 0x45461a
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x1d0]
jg 0x4548d6
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x1c8]
call fcn.0040e110
mov ecx, eax
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x1c8]
call fcn.0040e110
mov ecx, eax
call fcn.0040e470
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
push ecx
mov edx, dword [ebp - 0x1d8]
push edx
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x1c8]
call fcn.0040e110
push ecx
mov ecx, esp
mov dword [ebp - 0x390], esp
push eax
call fcn.0040e320
mov dword [ebp - 0x570], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x1dc], ecx
cmp dword [ebp - 0x1dc], 2
jl 0x45489b
mov edx, dword [ebp - 0x158]
add edx, 1
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x1d8]
mov edx, dword [edx]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x184]
cmp dword [ecx + eax*4], 1
jge 0x454755
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x184]
mov dword [eax + edx*4], 1
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ecx + 4]
sub edx, 1
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x98]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x1d4]
mov eax, dword [edx + 4]
sub eax, 1
mov ecx, dword [ebp - 0x158]
mov edx, dword [ebp - 0x138]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x1dc]
sub eax, 2
mov ecx, dword [ebp - 0x158]
mov edx, dword [ebp - 0x128]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + eax*4]
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x394]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + eax*4]
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x398]
mov dword [ecx + eax*4], edx
mov dword [ebp - 0x64], 0
jmp 0x454841
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x158]
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x64]
cmp eax, dword [edx + ecx*4]
jg 0x45489b
mov ecx, dword [ebp - 0x158]
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x1d8]
mov edx, dword [esi + edx*4 + 8]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x1d4]
mov ecx, dword [esi + ecx*4 + 8]
mov dword [edx + eax*4], ecx
jmp 0x454838
mov edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x39c], edx
mov eax, dword [ebp - 0x39c]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a0]
push edx
call fcn.0048207b
add esp, 4
jmp 0x454611
mov eax, dword [ebp - 0x158]
add eax, 3
mov dword [ebp - 0x3a4], eax
xor ecx, ecx
mov eax, dword [ebp - 0x3a4]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 0
je 0x454960
mov ecx, dword [ebp - 0x3a8]
mov edx, dword [ebp - 0x3a4]
mov dword [ecx], edx
push fcn.0040e3c0
push fcn.0040e300
mov eax, dword [ebp - 0x3a4]
push eax
push 4
mov ecx, dword [ebp - 0x3a8]
add ecx, 4
push ecx
call fcn.004a59f5
mov edx, dword [ebp - 0x3a8]
add edx, 4
mov dword [ebp - 0x578], edx
jmp 0x45496a
mov dword [ebp - 0x578], 0
mov eax, dword [ebp - 0x578]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x2c], 0
jmp 0x454988
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x158]
jg 0x454a52
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx + eax*4]
cmp edx, dword [ebp - 0x168]
jle 0x4549bd
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x2c]
add eax, 1
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1ac]
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax + edx*4]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x138]
mov edx, dword [ecx + eax*4]
add edx, 1
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + eax*4]
add edx, 1
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x38]
push ecx
push str._s_d__d__d__d__d__d
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + edx*4]
push ecx
call fcn.0040ef80
add esp, 0x24
push 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + edx*4]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
jmp 0x45497f
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c8]
call fcn.00484257
push 0x1100
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3ac]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x140], 0x3e7
mov dword [ebp - 0x2c], 0
jmp 0x454a9c
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x140]
jg 0x454ab8
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x2c]
mov dword [edx + ecx*4], eax
jmp 0x454a93
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x168], 0
je 0x454b57
lea edx, [ebp - 0x60]
push edx
push 0x102f
mov ecx, dword [ebp - 0x4e8]
call fcn.00490203
push 0x3e8
mov eax, dword [ebp - 0x164]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x3b0], esp
lea edx, [ebp - 0x60]
push edx
call fcn.0040e320
mov dword [ebp - 0x57c], eax
call fcn.00407fd0
add esp, 0xc
mov dword [ebp - 0x580], eax
mov eax, dword [ebp - 0x580]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x2c], 0
jmp 0x454b2f
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x140]
jg 0x454b57
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + eax*4]
sub edx, 1
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x164]
mov dword [ecx + eax*4], edx
jmp 0x454b26
push 0x440
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3b4], eax
mov edx, dword [ebp - 0x3b4]
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0x2c], 0
jmp 0x454b88
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x3e8
jge 0x454b9f
mov ecx, dword [ebp - 0xe0]
add ecx, dword [ebp - 0x2c]
mov byte [ecx], 0
jmp 0x454b7f
mov dword [ebp - 0x2c], 0
jmp 0x454bb1
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x140]
jg 0x454bf5
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x164]
cmp dword [edx + ecx*4], 0
jl 0x454bf3
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x164]
cmp dword [ecx + eax*4], 0x3e8
jge 0x454bf3
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0xe0]
mov byte [edx + ecx], 1
jmp 0x454ba8
push 1
push 0
push 0x104e
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 1
jge 0x454c22
mov dword [ebp - 0xb8], 1
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x1b0
call fcn.0044ec50
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x160]
sub eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0044df20
mov dword [ebp - 0x68], eax
push 1
push 0
push 0x1025
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a6d7
mov dword [ebp - 0x80], eax
push 0x28
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b8]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x130], 0x3e7
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x50]
jle 0x454cb9
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x18], 0
jmp 0x454ccb
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x68]
jg 0x456a24
mov ecx, dword [ebp - 0x4e8]
movzx edx, byte [ecx + 0x84]
test edx, edx
je 0x454ced
jmp 0x456a24
push 0xfa0
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x1e4], eax
push 0x7d0
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp - 0x188]
push edx
mov eax, dword [ebp - 0x1e0]
push eax
mov ecx, dword [ebp - 0x1e4]
push ecx
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
push ecx
mov ecx, esp
mov dword [ebp - 0x3c4], esp
push eax
call fcn.0040e320
mov dword [ebp - 0x584], eax
call fcn.004089e0
add esp, 0x10
mov byte [ebp - 0x585], al
movzx eax, byte [ebp - 0x585]
test eax, eax
je 0x45699a
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
push ecx
mov ecx, esp
mov dword [ebp - 0x3c8], esp
push eax
call fcn.0040e320
mov dword [ebp - 0x58c], eax
lea edx, [ebp - 0x3cc]
push edx
call fcn.004022a0
add esp, 8
mov dword [ebp - 0x590], eax
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x594], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x594]
push ecx
lea ecx, [ebp - 0x60]
call fcn.0040e3e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3cc]
call fcn.0040e3c0
xor ecx, ecx
mov eax, dword [ebp - 0x168]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x1f4], eax
xor ecx, ecx
mov eax, dword [ebp - 0x168]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], 0xffffffff
mov byte [ebp - 0x1e5], 1
xor ecx, ecx
je 0x455137
lea ecx, [ebp - 0x20c]
call fcn.00483d89
mov byte [ebp - 4], 6
lea edx, [ebp - 0x20c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x3d8], esp
lea eax, [ebp - 0x60]
push eax
call fcn.0040e320
mov dword [ebp - 0x598], eax
call fcn.00407d60
add esp, 8
lea ecx, [ebp - 0x20c]
call fcn.0044df20
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
add ecx, 1
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0x1f8], edx
cmp dword [ebp - 0x11c], 0
je 0x454eef
mov eax, dword [ebp - 0x210]
sub eax, dword [ebp - 0xb8]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jl 0x45511c
mov ecx, dword [ebp - 0x1f8]
cmp ecx, dword [ebp - 0x214]
jg 0x45511c
mov dword [ebp - 0x2c], 0
jmp 0x454f20
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x168]
jge 0x455108
mov ecx, dword [ebp - 0x1f8]
sub ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x21c], ecx
jns 0x454f45
jmp 0x455108
mov edx, dword [ebp - 0x21c]
push edx
lea ecx, [ebp - 0x20c]
call fcn.0040e110
mov ecx, eax
call fcn.0040e470
add eax, 8
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x218], eax
push 0x7fffffff
mov ecx, dword [ebp - 0x218]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
lea ecx, [ebp - 0x20c]
call fcn.0040e110
push ecx
mov ecx, esp
mov dword [ebp - 0x3e0], esp
push eax
call fcn.0040e320
mov dword [ebp - 0x59c], eax
call fcn.00401f90
add esp, 0xc
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x5a0]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jle 0x4550e8
mov ecx, dword [ebp - 0x1ec]
add ecx, 1
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1f0]
mov dword [eax + edx*4], 0xffffffff
xor ecx, ecx
mov eax, dword [ebp - 0x220]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x3e4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x220]
sub eax, 1
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
cmp ecx, dword [ebp - 0x130]
jle 0x45506b
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x224], edx
mov dword [ebp - 0x64], 0
jmp 0x45507d
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x224]
jg 0x4550e8
mov edx, dword [ebp - 0xe0]
add edx, dword [ebp - 0x64]
movzx eax, byte [edx]
test eax, eax
je 0x4550e6
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ebp - 0x1f0]
mov eax, dword [edx + ecx*4]
add eax, 1
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ebp - 0x1f0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x218]
mov ecx, dword [esi + ecx*4]
mov dword [eax + edx*4], ecx
jmp 0x455074
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x3e8]
push eax
call fcn.0048207b
add esp, 4
jmp 0x454f17
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x168]
jge 0x45511a
mov byte [ebp - 0x1e5], 0
jmp 0x455123
mov byte [ebp - 0x1e5], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x20c]
call fcn.00484257
jmp 0x45523b
mov dword [ebp - 0x2c], 0
jmp 0x455149
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x118]
jge 0x45523b
mov ecx, dword [ebp - 0x1ec]
add ecx, 1
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x1b4]
movsx edx, word [ecx + eax*2]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1e0]
movsx eax, word [ecx + eax*2]
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x3ec]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1e0]
movsx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1f0]
mov dword [ecx + eax*4], edx
mov dword [ebp - 0x64], 0
jmp 0x4551fb
mov edx, dword [ebp - 0x64]
add edx, 1
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ecx + eax*4]
jg 0x455236
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x64]
movsx ecx, word [edx + eax*2]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1f4]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 0x64]
mov dword [edx + eax*4], ecx
jmp 0x4551f2
jmp 0x455140
lea ecx, [ebp - 0x60]
push ecx
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0xf0
call fcn.00483cc7
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x1a4], 0
je 0x4553af
mov ecx, dword [ebp - 0x1ec]
add ecx, 1
cmp ecx, dword [ebp - 0xa8]
jl 0x4553af
mov dword [ebp - 0x64], 0
jmp 0x45528e
mov edx, dword [ebp - 0x64]
add edx, 1
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0xa8]
jge 0x455357
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x44], 0
jmp 0x4552b9
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [eax + edx*4]
jg 0x455325
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x44]
cmp dword [ecx + edx*4], 0
jl 0x455323
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x44]
cmp dword [edx + eax*4], 0x3e8
jge 0x455323
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x44]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x48]
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x455323
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
jmp 0x4552b0
mov eax, dword [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00403c20
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x455352
jmp 0x455357
jmp 0x455285
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0xa8]
jl 0x4553af
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x3c]
push edx
push 0x4c25c4
lea eax, [ebp - 0x4c]
push eax
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x1a8], 0
je 0x45550a
mov eax, dword [ebp - 0x1ec]
add eax, 1
cmp eax, dword [ebp - 0xd8]
jl 0x45550a
mov dword [ebp - 0x64], 0
jmp 0x4553e9
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0xd8]
jge 0x4554b2
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x44], 0
jmp 0x455414
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + ecx*4]
jg 0x455480
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x44]
cmp dword [eax + ecx*4], 0
jl 0x45547e
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x44]
cmp dword [ecx + edx*4], 0x3e8
jge 0x45547e
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x44]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x48]
movzx eax, byte [edx + ecx]
test eax, eax
jne 0x45547e
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
jmp 0x45540b
mov edx, dword [ebp - 0x234]
push edx
mov eax, dword [ebp - 0x16c]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
mov edx, dword [ebp - 0x84]
push edx
call fcn.00403c20
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x4554ad
jmp 0x4554b2
jmp 0x4553e0
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0xd8]
jl 0x45550a
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x40]
push ecx
push 0x4c25cc
lea edx, [ebp - 0x4c]
push edx
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x16c], 0
je 0x455632
mov edx, dword [ebp - 0x1ec]
add edx, 1
cmp edx, dword [ebp - 0x194]
jl 0x455632
mov dword [ebp - 0x64], 0
jmp 0x455544
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x194]
jge 0x4555da
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x44], 0
jmp 0x45556f
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ecx + eax*4]
jg 0x4555a8
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x44]
mov ecx, dword [edx + eax*4]
cmp ecx, dword [ebp - 0x80]
jl 0x4555a6
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
jmp 0x455566
mov eax, dword [ebp - 0x238]
push eax
mov ecx, dword [ebp - 0x150]
push ecx
mov edx, dword [ebp - 0x154]
push edx
mov eax, dword [ebp - 0x1a8]
push eax
call fcn.00403c20
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x4555d5
jmp 0x4555da
jmp 0x45553b
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x194]
jl 0x455632
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 4]
push edx
push 0x4c25d4
lea eax, [ebp - 0x4c]
push eax
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x170], 0
je 0x45575a
mov eax, dword [ebp - 0x1ec]
add eax, 1
cmp eax, dword [ebp - 0x114]
jl 0x45575a
mov dword [ebp - 0x64], 0
jmp 0x45566c
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x114]
jge 0x455702
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x44], 0
jmp 0x455697
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + ecx*4]
jg 0x4556d0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x44]
mov edx, dword [eax + ecx*4]
cmp edx, dword [ebp - 0x80]
jge 0x4556ce
mov eax, dword [ebp - 0x23c]
add eax, 1
mov dword [ebp - 0x23c], eax
jmp 0x45568e
mov ecx, dword [ebp - 0x23c]
push ecx
mov edx, dword [ebp - 0x148]
push edx
mov eax, dword [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x4556fd
jmp 0x455702
jmp 0x455663
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x114]
jl 0x45575a
mov ecx, dword [ebp - 0x60]
push ecx
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 8]
push eax
push 0x4c25dc
lea ecx, [ebp - 0x4c]
push ecx
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x174], 0
je 0x455885
mov ecx, dword [ebp - 0x1ec]
add ecx, 1
cmp ecx, dword [ebp - 0x7c]
jl 0x455885
mov dword [ebp - 0x64], 0
jmp 0x455791
mov edx, dword [ebp - 0x64]
add edx, 1
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x7c]
jge 0x455830
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x44], 0
jmp 0x4557b9
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [eax + edx*4]
jg 0x4557fe
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x44]
mov eax, dword [ecx + edx*4]
and eax, 0x80000001
jns 0x4557e8
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x4557fc
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x240], ecx
jmp 0x4557b0
mov edx, dword [ebp - 0x240]
push edx
mov eax, dword [ebp - 0x180]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.00403c20
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x45582b
jmp 0x455830
jmp 0x455788
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x7c]
jl 0x455885
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0xc]
push ecx
push 0x4c25e4
lea edx, [ebp - 0x4c]
push edx
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x178], 0
je 0x4559b9
mov edx, dword [ebp - 0x1ec]
add edx, 1
cmp edx, dword [ebp - 0x190]
jl 0x4559b9
mov dword [ebp - 0x64], 0
jmp 0x4558bf
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x190]
jge 0x455961
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x44], 0
jmp 0x4558ea
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ecx + eax*4]
jg 0x45592f
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x44]
mov ecx, dword [edx + eax*4]
and ecx, 0x80000001
jns 0x45591a
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
jne 0x45592d
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
jmp 0x4558e1
mov eax, dword [ebp - 0x244]
push eax
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp - 0xe8]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00403c20
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x45595c
jmp 0x455961
jmp 0x4558b6
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x190]
jl 0x4559b9
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x10]
push edx
push 0x4c25ec
lea eax, [ebp - 0x4c]
push eax
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x17c], 0
je 0x455b36
mov eax, dword [ebp - 0x1ec]
add eax, 1
cmp eax, dword [ebp - 0x13c]
jl 0x455b36
mov dword [ebp - 0x64], 0
jmp 0x4559f3
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x13c]
jge 0x455ade
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x44], 0
jmp 0x455a1e
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + ecx*4]
jg 0x455a4f
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x24c]
add edx, dword [eax + ecx*4]
mov dword [ebp - 0x24c], edx
jmp 0x455a15
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ecx + eax*4]
add edx, 1
mov dword [ebp - 0x248], edx
mov dword [ebp - 0x250], 0xffffffff
cmp dword [ebp - 0x248], 0
jle 0x455aac
fild dword [ebp - 0x24c]
fidiv dword [ebp - 0x248]
fstp qword [ebp - 0x25c]
fld qword [ebp - 0x25c]
fadd qword [0x4c2a00]
fstp qword [ebp - 0x25c]
fld qword [ebp - 0x25c]
call fcn.004a4180
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
push eax
mov ecx, dword [ebp - 0x1a4]
push ecx
mov edx, dword [ebp - 0x178]
push edx
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00403c20
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x455ad9
jmp 0x455ade
jmp 0x4559ea
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x13c]
jl 0x455b36
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x14]
push edx
push 0x4c25f4
lea eax, [ebp - 0x4c]
push eax
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x180], 0
je 0x455c52
mov eax, dword [ebp - 0x1ec]
add eax, 1
cmp eax, dword [ebp - 0xc0]
jl 0x455c52
mov dword [ebp - 0x64], 0
jmp 0x455b70
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0xc0]
jge 0x455bfa
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x44], 0
jmp 0x455b97
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + ecx*4]
jg 0x455bc8
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x260]
add edx, dword [eax + ecx*4]
mov dword [ebp - 0x260], edx
jmp 0x455b8e
mov eax, dword [ebp - 0x260]
push eax
mov ecx, dword [ebp - 0x134]
push ecx
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.00403c20
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x455bf5
jmp 0x455bfa
jmp 0x455b67
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0xc0]
jl 0x455c52
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x18]
push edx
push 0x4c25fc
lea eax, [ebp - 0x4c]
push eax
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x184], 0
je 0x455d95
mov eax, dword [ebp - 0x1ec]
add eax, 1
cmp eax, dword [ebp - 0x1b0]
jl 0x455d95
mov dword [ebp - 0x64], 0
jmp 0x455c8c
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x1b0]
jge 0x455d3d
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x44], 0
jmp 0x455cb7
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + ecx*4]
jg 0x455d0b
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x44]
mov edx, dword [eax + ecx*4]
and edx, 0x80000001
jns 0x455ce7
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
jne 0x455d09
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x264]
add ecx, dword [edx + eax*4]
mov dword [ebp - 0x264], ecx
jmp 0x455cae
mov edx, dword [ebp - 0x264]
push edx
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0xac]
push edx
call fcn.00403c20
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x455d38
jmp 0x455d3d
jmp 0x455c83
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x1b0]
jl 0x455d95
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x1c]
push ecx
push 0x4c2604
lea edx, [ebp - 0x4c]
push edx
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x188], 0
je 0x455ed9
mov edx, dword [ebp - 0x1ec]
add edx, 1
cmp edx, dword [ebp - 0xf4]
jl 0x455ed9
mov dword [ebp - 0x64], 0
jmp 0x455dcf
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0xf4]
jge 0x455e81
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x44], 0
jmp 0x455dfa
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ecx + eax*4]
jg 0x455e4f
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x44]
mov ecx, dword [edx + eax*4]
and ecx, 0x80000001
jns 0x455e2a
dec ecx
or ecx, 0xfffffffe
inc ecx
cmp ecx, 1
jne 0x455e4d
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x268]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x268], eax
jmp 0x455df1
mov ecx, dword [ebp - 0x268]
push ecx
mov edx, dword [ebp - 0x174]
push edx
mov eax, dword [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x455e7c
jmp 0x455e81
jmp 0x455dc6
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0xf4]
jl 0x455ed9
mov ecx, dword [ebp - 0x60]
push ecx
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x20]
push eax
push 0x4c260c
lea ecx, [ebp - 0x4c]
push ecx
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x18c], 0
je 0x45600d
mov ecx, dword [ebp - 0x1ec]
add ecx, 1
cmp ecx, dword [ebp - 0x110]
jl 0x45600d
mov dword [ebp - 0x64], 0
jmp 0x455f13
mov edx, dword [ebp - 0x64]
add edx, 1
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x110]
jge 0x455fb5
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x44], 0
jmp 0x455f3e
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [eax + edx*4]
jg 0x455f83
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x44]
mov eax, dword [ecx + edx*4]
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x270], edx
mov edx, dword [ebp - 0x26c]
add edx, dword [ebp - 0x270]
mov dword [ebp - 0x26c], edx
jmp 0x455f35
mov eax, dword [ebp - 0x26c]
push eax
mov ecx, dword [ebp - 0x17c]
push ecx
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp - 0xc4]
push eax
call fcn.00403c20
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x455fb0
jmp 0x455fb5
jmp 0x455f0a
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x110]
jl 0x45600d
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x24]
push edx
push 0x4c2614
lea eax, [ebp - 0x4c]
push eax
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x190], 0
je 0x4560f4
mov eax, dword [ebp - 0x1ec]
add eax, 1
cmp eax, dword [ebp - 0x12c]
jl 0x4560f4
mov dword [ebp - 0x64], 0
jmp 0x456047
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x12c]
jge 0x45609c
push 1
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
push edx
call fcn.00408860
add esp, 0xc
push eax
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x120]
push edx
call fcn.00403c20
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x45609a
jmp 0x45609c
jmp 0x45603e
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x12c]
jl 0x4560f4
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x28]
push ecx
push 0x4c261c
lea edx, [ebp - 0x4c]
push edx
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x194], 0
je 0x4562e6
mov edx, dword [ebp - 0x1ec]
add edx, 1
cmp edx, dword [ebp - 0x18c]
jl 0x4562e6
mov dword [ebp - 0x64], 0
jmp 0x45612e
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x18c]
jge 0x45628e
mov dword [ebp - 0x274], 1
mov byte [ebp - 0x275], 1
mov dword [ebp - 0x44], 0
jmp 0x456160
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ecx + eax*4]
jge 0x456206
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x44]
mov edx, dword [edx + ecx*4 + 4]
sub edx, dword [eax + esi*4]
mov dword [ebp - 0x27c], edx
cmp dword [ebp - 0x27c], 1
jne 0x4561ba
mov eax, dword [ebp - 0x274]
add eax, 1
mov dword [ebp - 0x274], eax
jmp 0x456201
cmp dword [ebp - 0x274], 1
jle 0x4561f7
mov byte [ebp - 0x275], 0
mov ecx, dword [ebp - 0x274]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x4561f7
jmp 0x456206
mov dword [ebp - 0x274], 1
jmp 0x456157
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ecx + eax*4]
jge 0x456219
jmp 0x45628e
cmp dword [ebp - 0x274], 1
jle 0x456256
mov byte [ebp - 0x275], 0
mov eax, dword [ebp - 0x274]
push eax
mov ecx, dword [ebp - 0x8c]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0xa0]
push eax
call fcn.00403c20
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x456256
jmp 0x45628e
movzx edx, byte [ebp - 0x275]
test edx, edx
je 0x456289
push 1
mov eax, dword [ebp - 0x8c]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 0xa0]
push edx
call fcn.00403c20
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x456289
jmp 0x45628e
jmp 0x456125
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x18c]
jl 0x4562e6
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x2c]
push ecx
push 0x4c2624
lea edx, [ebp - 0x4c]
push edx
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, dword [ebp - 0x4e8]
cmp dword [ecx + 0x198], 0
je 0x4564d0
mov edx, dword [ebp - 0x1ec]
add edx, 1
cmp edx, dword [ebp - 0x78]
jl 0x4564d0
mov dword [ebp - 0x64], 0
jmp 0x45631d
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x78]
jge 0x45647b
mov dword [ebp - 0x44], 0
jmp 0x45633b
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 9
jg 0x456353
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x9c]
mov dword [ecx + eax*4], 0
jmp 0x456332
mov dword [ebp - 0x44], 0
jmp 0x456365
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x44]
cmp edx, dword [ecx + eax*4]
jg 0x4563d1
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x44]
mov eax, dword [edx + eax*4]
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x284], edx
cmp dword [ebp - 0x284], 0
jge 0x4563ae
mov edx, dword [ebp - 0x284]
add edx, 0xa
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx + eax*4]
add edx, 1
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x9c]
mov dword [ecx + eax*4], edx
jmp 0x45635c
mov byte [ebp - 0x27d], 1
mov dword [ebp - 0x44], 0
jmp 0x4563ea
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 9
jg 0x45643b
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x9c]
cmp dword [ecx + eax*4], 1
jle 0x456439
mov byte [ebp - 0x27d], 0
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x100]
push edx
mov eax, dword [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x456439
jmp 0x45643b
jmp 0x4563e1
cmp dword [ebp - 0x44], 9
jg 0x456443
jmp 0x45647b
movzx eax, byte [ebp - 0x27d]
test eax, eax
je 0x456476
push 1
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 0x104]
push edx
mov eax, dword [ebp - 0x198]
push eax
call fcn.00403c20
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x456476
jmp 0x45647b
jmp 0x456314
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x78]
jl 0x4564d0
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x30]
push edx
push 0x4c262c
lea eax, [ebp - 0x4c]
push eax
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x19c], 0
je 0x45675d
mov eax, dword [ebp - 0x1ec]
add eax, 1
cmp eax, dword [ebp - 0x160]
jl 0x45675d
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ecx]
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ecx]
add eax, 1
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ecx]
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x28c], 0xffffffff
mov dword [ebp - 0x64], 0
jmp 0x45658e
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x290]
jg 0x4565b5
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x294]
mov esi, dword [ebp - 0x64]
mov eax, dword [eax + esi*4]
mov dword [edx + ecx*4], eax
jmp 0x456585
mov dword [ebp - 0x64], 1
jmp 0x4565c7
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x160]
jge 0x4566b2
mov dword [ebp - 0x28c], 0xffffffff
mov dword [ebp - 0x44], 0
jmp 0x4565f2
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x290]
jg 0x45665f
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.004036b0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x45665d
mov eax, dword [ebp - 0x28c]
add eax, 1
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x294]
mov eax, dword [esi + eax*4]
mov dword [edx + ecx*4], eax
jmp 0x4565e9
cmp dword [ebp - 0x28c], 0
jge 0x45666a
jmp 0x4566b2
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x44], 0
jmp 0x456688
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x290]
jg 0x4566ad
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x288]
mov eax, dword [esi + eax*4]
mov dword [edx + ecx*4], eax
jmp 0x45667f
jmp 0x4565be
mov ecx, dword [ebp - 0x28c]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x170]
push edx
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
je 0x456727
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x34]
push edx
push 0x4c2634
lea eax, [ebp - 0x4c]
push eax
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x294]
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x3f8]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x3fc], ecx
mov edx, dword [ebp - 0x3fc]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x1a0], 0
je 0x456924
mov dword [ebp - 0x2c], 0
jmp 0x456782
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x158]
jg 0x456924
mov eax, dword [ebp - 0x1ec]
add eax, 1
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x184]
cmp eax, dword [edx + ecx*4]
jl 0x45691f
mov dword [ebp - 0x64], 0
jmp 0x4567be
mov eax, dword [ebp - 0x64]
add eax, 1
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x64]
cmp eax, dword [edx + ecx*4]
jge 0x4568be
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x98]
cmp dword [edx + ecx*4], 0
jl 0x4568b9
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x1f0]
mov eax, dword [ecx + eax*4]
cmp eax, dword [esi + edx*4]
jg 0x4568b9
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x98]
cmp dword [edx + ecx*4], 0
jl 0x4568b9
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x1f0]
mov eax, dword [ecx + eax*4]
cmp eax, dword [esi + edx*4]
jg 0x4568b9
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x1f4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x138]
mov edx, dword [esi + edx*4]
mov esi, dword [ebp - 0x64]
mov edi, dword [ebp - 0x1f4]
mov esi, dword [edi + esi*4]
mov eax, dword [ecx + eax*4]
sub eax, dword [esi + edx*4]
push eax
call fcn.004a8ad7
add esp, 4
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x298]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [eax + edx*4]
push ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x4568b9
jmp 0x4568be
jmp 0x4567b5
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ecx + eax*4]
jl 0x45691f
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + ecx*4]
push eax
push 0x4c263c
lea ecx, [ebp - 0x4c]
push ecx
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x4c]
call fcn.0040e440
push eax
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x4e8]
add ecx, 0x144
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
jmp 0x456779
mov dword [ebp - 0x2c], 0
jmp 0x456936
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x1ec]
jg 0x456964
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x400], ecx
mov edx, dword [ebp - 0x400]
push edx
call fcn.0048207b
add esp, 4
jmp 0x45692d
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x404]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x408]
push eax
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x4569ac
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x3e8
jge 0x4569e9
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1e0]
movsx ecx, word [eax + edx*2]
test ecx, ecx
jl 0x4569e7
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x40c]
push edx
call fcn.0048207b
add esp, 4
jmp 0x4569a3
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x410]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0x414]
push eax
call fcn.0048207b
add esp, 4
jmp 0x454cc2
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x418]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x41c]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x4e8]
cmp dword [edx + 0x1a0], 0
je 0x456bb0
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x420]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x424]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x428]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x42c]
push ecx
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x456aeb
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x158]
jg 0x456b3a
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x430]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp - 0x434]
push edx
call fcn.0048207b
add esp, 4
jmp 0x456ae2
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x438]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x43c]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x444]
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 0
je 0x456ba6
push 3
mov ecx, dword [ebp - 0x440]
call fcn.0044d9f0
mov dword [ebp - 0x5a4], eax
jmp 0x456bb0
mov dword [ebp - 0x5a4], 0
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x448]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x1a8], 0
je 0x456bef
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x44c]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x154], 0
je 0x456c13
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x450], ecx
mov edx, dword [ebp - 0x450]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x14c], 0
je 0x456c37
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x454]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xf0], 0
je 0x456c5b
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x458]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xec], 0
je 0x456c7f
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x45c]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x144], 0
je 0x456ca3
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x460]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xb0], 0
je 0x456cc7
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x464]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xe8], 0
je 0x456ceb
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x468], ecx
mov edx, dword [ebp - 0x468]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x10c], 0
je 0x456d0f
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x46c]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x178], 0
je 0x456d33
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x470], edx
mov eax, dword [ebp - 0x470]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xc8], 0
je 0x456d57
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x474]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x124], 0
je 0x456d7b
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x478]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xac], 0
je 0x456d9f
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x47c]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x1a0], 0
je 0x456dc3
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x480]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x108], 0
je 0x456de7
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x484], eax
mov ecx, dword [ebp - 0x484]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xbc], 0
je 0x456e0b
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x488]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xc4], 0
je 0x456e2f
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x48c]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x90], 0
je 0x456e53
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x490], eax
mov ecx, dword [ebp - 0x490]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x120], 0
je 0x456e77
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x494], edx
mov eax, dword [ebp - 0x494]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x19c], 0
je 0x456e9b
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x498], ecx
mov edx, dword [ebp - 0x498]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xa0], 0
je 0x456ebf
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x49c]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xd4], 0
je 0x456ee3
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x4a0], edx
mov eax, dword [ebp - 0x4a0]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x198], 0
je 0x456f07
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp - 0x4a4]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x104], 0
je 0x456f2b
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x4a8]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x70], 0
je 0x456f49
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x4ac], edx
mov eax, dword [ebp - 0x4ac]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x6c], 0
je 0x456f67
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x4b0], ecx
mov edx, dword [ebp - 0x4b0]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xd0], 0
je 0x456f8b
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4b4]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x88], 0
je 0x456faf
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x4b8], edx
mov eax, dword [ebp - 0x4b8]
push eax
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0x84], 0
je 0x456fd3
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4bc]
push edx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xe4], 0
je 0x456ff7
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4c0]
push ecx
call fcn.0048207b
add esp, 4
cmp dword [ebp - 0xb4], 0
je 0x457040
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x4c8], edx
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0x4c4], eax
cmp dword [ebp - 0x4c4], 0
je 0x457036
push 3
mov ecx, dword [ebp - 0x4c4]
call fcn.0044d9f0
mov dword [ebp - 0x5a8], eax
jmp 0x457040
mov dword [ebp - 0x5a8], 0
mov dword [ebp - 0x2c], 0
jmp 0x457052
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 3
jge 0x45707b
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x4cc]
push edx
call fcn.0048207b
add esp, 4
jmp 0x457049
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x4d0]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4d8], ecx
mov edx, dword [ebp - 0x4d8]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x4e8]
mov byte [edx + 0x84], 1
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x7c], 0x22b8
je 0x45711f
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x7c]
push edx
mov ecx, dword [ebp - 0x4e8]
call fcn.0044ead0
mov eax, dword [ebp - 0x4e8]
mov dword [eax + 0x7c], 0x22b8
push ecx
mov ecx, esp
mov dword [ebp - 0x4e0], esp
push 0x4c2644
call fcn.0040e340
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x80]
push edx
lea eax, [ebp - 0x4e4]
push eax
call fcn.00402f50
add esp, 0xc
mov dword [ebp - 0x5b0], eax
mov ecx, dword [ebp - 0x5b0]
mov dword [ebp - 0x5b4], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x5b4]
mov eax, dword [edx]
push eax
push 0x4c264c
lea ecx, [ebp - 0x60]
push ecx
call fcn.0040ef80
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4e4]
call fcn.0040e3c0
lea ecx, [ebp - 0x60]
call fcn.0040e440
push eax
push 0x517
mov ecx, dword [ebp - 0x4e8]
call fcn.0048a72e
push 1
mov ecx, dword [ebp - 0x4e8]
call fcn.004592f0
mov edx, dword [ebp - 0x4e8]
movzx eax, byte [edx + 0x8c]
test eax, eax
je 0x4571e0
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4e8]
mov eax, dword [edx + 0x15c]
call eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x30]
call fcn.0040e3c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c]
call fcn.0040e3c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.0040e3c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.0040e3c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret