Function at 0x40b800
Capabilities:
Copy file
Create directory

Disassembly:
sub esp, 0xe78
push ebx
push ebp
push esi
push edi
mov ecx, 0x11
mov esi, 0x44d5e8
lea edi, [esp + 0x28]
xor ebx, ebx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov esi, 1
mov eax, dword [0x468140]
cmp eax, esi
jne 0x40b849
push ebx
push 0x14
call fcn.0040b3a0
add esp, 8
mov eax, dword [0x468140]
cmp eax, esi
je 0x40b835
mov dword [0x468140], esi
mov edx, dword [esp + 0xe90]
mov ebp, dword [esp + 0xe94]
cmp edx, ebx
mov dword [esp + 0x18], ebx
jne 0x40b86d
cmp ebp, ebx
mov dword [esp + 0x14], ebx
je 0x40b871
mov dword [esp + 0x14], esi
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x480]
cmp edx, ebx
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x584]
rep stosd dword es:[edi], eax
je 0x40b8a9
push 0x104
lea eax, [esp + 0x484]
push edx
push eax
call fcn.0040b150
add esp, 0xc
cmp ebp, ebx
je 0x40b8c3
push 0x104
lea ecx, [esp + 0x588]
push ebp
push ecx
call fcn.0040b150
add esp, 0xc
lea edx, [esp + 0x480]
push edx
call fcn.0040b330
lea eax, [esp + 0x588]
push eax
call fcn.0040b330
call fcn.00420690
push 0
push 0x442b3c
mov dword [eax], 0
call fcn.004206a2
mov ebx, dword [esp + 0xea8]
mov ebp, dword [esp + 0xe9c]
add esp, 0x10
test eax, eax
je 0x40b9b2
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
rep stosd dword es:[edi], eax
call fcn.00420690
mov ecx, dword [eax]
lea edx, [esp + 0x70]
push ecx
push 0x104
push edx
push 0x44d19c
call fcn.00401380
push eax
push 0x442b3c
push 0x44d58c
lea eax, [esp + 0x6a4]
push 0x7ff
push eax
call fcn.00420511
mov esi, dword [esp + 0xeb8]
add esp, 0x24
test esi, esi
mov ecx, esi
jne 0x40b96b
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40b97b
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
push 0
push 0x442b3c
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
jmp 0x40b9b9
mov esi, dword [esp + 0xe94]
call fcn.00420690
push 6
push 0x442b3c
mov dword [eax], 0
call fcn.004206a2
add esp, 8
test eax, eax
je 0x40ba79
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
rep stosd dword es:[edi], eax
call fcn.00420690
mov ecx, dword [eax]
lea edx, [esp + 0x70]
push ecx
push 0x104
push edx
push 0x44d19c
call fcn.00401380
push eax
push 0x442b3c
push 0x44d504
lea eax, [esp + 0x6a4]
push 0x7ff
push eax
call fcn.00420511
add esp, 0x24
mov ecx, esi
test esi, esi
jne 0x40ba32
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40ba42
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
push 0x180
push 0x442b3c
call fcn.0042058c
add esp, 0x38
call fcn.00420690
push 0
push ebx
mov dword [eax], 0
call fcn.004206a2
add esp, 8
test eax, eax
je 0x40bc32
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
rep stosd dword es:[edi], eax
call fcn.00420690
mov ecx, dword [eax]
lea edx, [esp + 0x70]
push ecx
push 0x104
push edx
push 0x44d19c
call fcn.00401380
push eax
push ebx
push 0x44d4ac
lea eax, [esp + 0x6a4]
push 0x7ff
push eax
call fcn.00420511
add esp, 0x24
mov ecx, esi
test esi, esi
jne 0x40baea
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40bafa
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
call fcn.00420690
push 0x180
push 0x8302
push ebx
mov dword [eax], 0
call fcn.004211fe
add esp, 0x3c
test eax, eax
jl 0x40bba7
push eax
call fcn.0042111e
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x68c]
rep stosd dword es:[edi], eax
call fcn.00420690
mov ecx, dword [eax]
lea edx, [esp + 0x74]
push ecx
push 0x104
push edx
push 0x44d19c
call fcn.00401380
push eax
push ebx
push 0x44d47c
lea eax, [esp + 0x6a8]
push 0x7ff
push eax
call fcn.00420511
add esp, 0x28
mov ecx, esi
test esi, esi
jne 0x40bb9a
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40bc0a
jmp 0x40bc05
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
rep stosd dword es:[edi], eax
call fcn.00420690
mov ecx, dword [eax]
lea edx, [esp + 0x70]
push ecx
push 0x104
push edx
push 0x44d19c
call fcn.00401380
push eax
push ebx
push 0x44d444
lea eax, [esp + 0x6a4]
push 0x7ff
push eax
call fcn.00420511
add esp, 0x24
mov ecx, esi
test esi, esi
jne 0x40bbfa
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40bc0a
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
push 6
push ebx
call fcn.004206a2
add esp, 8
test eax, eax
je 0x40bcba
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
push ebx
rep stosd dword es:[edi], eax
push 0x44d3c4
lea ecx, [esp + 0x690]
push 0x7ff
push ecx
call fcn.00420511
add esp, 0x10
mov ecx, esi
test esi, esi
jne 0x40bc77
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40bc87
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
push 0x180
push ebx
call fcn.0042058c
add esp, 0x38
push 0x104
lea ecx, [esp + 0x27c]
push ebx
push ecx
call fcn.0040b150
lea edx, [esp + 0x284]
push 0x2e
push edx
call fcn.00420b20
mov edx, eax
add esp, 0x14
test edx, edx
je 0x40bd07
mov edi, 0x44d3bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x44d1a4
push ebx
call fcn.00421cdf
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x20], esi
jne 0x40bdab
mov ecx, 0x200
lea edi, [esp + 0x688]
rep stosd dword es:[edi], eax
push ebx
push 0x44d36c
lea ecx, [esp + 0x690]
push 0x7ff
push ecx
call fcn.00420511
mov ecx, dword [esp + 0xea4]
add esp, 0x10
test ecx, ecx
jne 0x40bd5c
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40bd6c
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
mov dword [0x468140], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe78
ret
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x174]
push 0x44d364
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x74]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x27c]
push ecx
call fcn.00421cdf
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
push esi
je 0x40ca73
lea edx, [esp + 0x178]
push 0x103
push edx
call fcn.00421c4c
add esp, 0xc
test eax, eax
je 0x40c763
mov esi, dword [esp + 0x18]
mov al, byte [esp + 0x174]
cmp al, 0xd
je 0x40c71e
cmp al, 0xa
je 0x40c71e
lea eax, [esp + 0x174]
push 0xd
push eax
call fcn.00421b90
add esp, 8
test eax, eax
je 0x40be39
mov byte [eax], 0
lea ecx, [esp + 0x174]
push 0xa
push ecx
call fcn.00421b90
add esp, 8
test eax, eax
je 0x40be52
mov byte [eax], 0
lea edx, [esp + 0x174]
push 0x5d
push edx
call fcn.00420b20
add esp, 8
test eax, eax
je 0x40be6b
mov byte [eax], 0
cmp byte [esp + 0x174], 0x5b
jne 0x40c63e
lea eax, [esp + 0x175]
push 0x104
lea ecx, [esp + 0x380]
push eax
push ecx
call fcn.0040b150
lea edx, [esp + 0x388]
push ebp
push edx
call fcn.00429d10
add esp, 0x14
test eax, eax
jne 0x40beb4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40c739
lea eax, [esp + 0x37c]
push ebp
push eax
call fcn.00429d10
add esp, 8
test eax, eax
jne 0x40bf79
mov ecx, dword [esp + 0x14]
mov eax, 1
cmp ecx, eax
mov dword [esp + 0x18], eax
jne 0x40c038
lea ecx, [esp + 0x37c]
push 0x442810
push ecx
push 0x44d35c
lea edx, [esp + 0x7c]
push 0x103
push edx
call fcn.00420511
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x84]
push eax
push ecx
call fcn.00421e58
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x40c038
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
lea edx, [esp + 0x278]
rep stosd dword es:[edi], eax
push edx
push 0x44d348
lea eax, [esp + 0x690]
push 0x7ff
push eax
call fcn.00420511
mov eax, dword [esp + 0xea4]
add esp, 0x10
test eax, eax
mov ecx, eax
jne 0x40bf65
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c010
jmp 0x40c00b
lea ecx, [esp + 0x37c]
push 0x442810
push ecx
push 0x44d35c
lea edx, [esp + 0x7c]
push 0x104
push edx
mov dword [esp + 0x2c], 0
call fcn.00420511
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x84]
push eax
push ecx
call fcn.00421e58
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x40c038
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
lea edx, [esp + 0x278]
rep stosd dword es:[edi], eax
push edx
push 0x44d334
lea eax, [esp + 0x690]
push 0x7ff
push eax
call fcn.00420511
mov eax, dword [esp + 0xea4]
add esp, 0x10
test eax, eax
mov ecx, eax
jne 0x40c000
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c010
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x174]
push ecx
push 0x103
push edx
call fcn.00421c4c
add esp, 0xc
test eax, eax
je 0x40c631
mov al, byte [esp + 0x174]
cmp al, 0xd
je 0x40c2af
cmp al, 0xa
je 0x40c2af
lea eax, [esp + 0x174]
push 0xd
push eax
call fcn.00421b90
add esp, 8
test eax, eax
je 0x40c08a
mov byte [eax], 0
lea ecx, [esp + 0x174]
push 0xa
push ecx
call fcn.00421b90
add esp, 8
test eax, eax
je 0x40c0a3
mov byte [eax], 0
cmp byte [esp + 0x174], 0x5b
jne 0x40c0f1
lea edx, [esp + 0x175]
push 0x104
lea eax, [esp + 0x380]
push edx
push eax
call fcn.0040b150
lea ecx, [esp + 0x388]
push ebp
push ecx
call fcn.00429d10
add esp, 0x14
test eax, eax
jne 0x40c491
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x40c491
jmp 0x40c038
lea edx, [esp + 0x37c]
push ebp
push edx
call fcn.00429d10
add esp, 8
test eax, eax
jne 0x40c112
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40c038
lea eax, [esp + 0x174]
push 0x104
lea ecx, [esp + 0x74]
push eax
push ecx
call fcn.0040b150
lea edx, [esp + 0x7c]
push 0x3d
push edx
call fcn.00421b90
add esp, 0x14
test eax, eax
je 0x40c13f
mov byte [eax], 0
lea eax, [esp + 0x37c]
push ebp
push eax
call fcn.00429d10
add esp, 8
test eax, eax
jne 0x40c1d8
lea ecx, [esp + 0x480]
lea edx, [esp + 0x70]
push ecx
push edx
call fcn.00429d10
add esp, 8
test eax, eax
jne 0x40c1d8
mov al, byte [esp + 0x584]
push 0x442810
test al, al
je 0x40c1b2
lea eax, [esp + 0x588]
lea ecx, [esp + 0x484]
push eax
push ecx
push 0x44d32c
lea edx, [esp + 0x80]
push 0x103
push edx
call fcn.00420511
add esp, 0x18
mov esi, 1
jmp 0x40c1fc
lea eax, [esp + 0x484]
lea ecx, [esp + 0x74]
push eax
push 0x44d324
push 0x103
push ecx
call fcn.00420511
add esp, 0x14
mov esi, 1
jmp 0x40c1fc
lea edx, [esp + 0x174]
push 0x442810
push edx
push 0x4497e8
lea eax, [esp + 0x7c]
push 0x103
push eax
call fcn.00420511
add esp, 0x14
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x70]
push ecx
push edx
call fcn.00421e58
add esp, 8
cmp eax, 0xffffffff
jne 0x40c28f
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x278]
lea ecx, [esp + 0x688]
push eax
push 0x44d310
push 0x7ff
push ecx
call fcn.00420511
mov eax, dword [esp + 0xea4]
add esp, 0x10
test eax, eax
mov ecx, eax
jne 0x40c257
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c267
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x174]
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x70]
rep stosd dword es:[edi], eax
jmp 0x40c038
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x174]
push ebp
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x74]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x380]
push ecx
call fcn.00429d10
add esp, 8
test eax, eax
jne 0x40c038
cmp dword [esp + 0x14], 1
jne 0x40c038
test esi, esi
jne 0x40c038
mov al, byte [esp + 0x584]
push 0x442810
test al, al
je 0x40c332
lea edx, [esp + 0x588]
lea eax, [esp + 0x484]
push edx
push eax
push 0x44d32c
lea ecx, [esp + 0x80]
push 0x103
push ecx
call fcn.00420511
add esp, 0x18
jmp 0x40c351
lea edx, [esp + 0x484]
lea eax, [esp + 0x74]
push edx
push 0x44d324
push 0x103
push eax
call fcn.00420511
add esp, 0x14
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x70]
push ecx
push edx
call fcn.00421e58
add esp, 8
cmp eax, 0xffffffff
jne 0x40c3e2
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x278]
lea ecx, [esp + 0x688]
push eax
push 0x44d2fc
push 0x7ff
push ecx
call fcn.00420511
mov ecx, dword [esp + 0xea4]
add esp, 0x10
test ecx, ecx
jne 0x40c3aa
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c3ba
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
push 0x104
lea ecx, [esp + 0x74]
push 0x442810
push ecx
call fcn.0040b150
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x7c]
push edx
push eax
call fcn.00421e58
add esp, 0x14
cmp eax, 0xffffffff
jne 0x40c487
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
lea edx, [esp + 0x688]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x278]
push ecx
push 0x44d2e8
push 0x7ff
push edx
call fcn.00420511
mov ecx, dword [esp + 0xea4]
add esp, 0x10
test ecx, ecx
jne 0x40c44f
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c45f
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
mov esi, 1
jmp 0x40c038
cmp dword [esp + 0x18], 1
jne 0x40c595
test esi, esi
jne 0x40c595
mov al, byte [esp + 0x584]
push 0x442810
test al, al
je 0x40c4e0
lea ecx, [esp + 0x588]
lea edx, [esp + 0x484]
push ecx
push edx
push 0x44d32c
lea eax, [esp + 0x80]
push 0x103
push eax
call fcn.00420511
add esp, 0x18
jmp 0x40c4ff
lea ecx, [esp + 0x484]
lea edx, [esp + 0x74]
push ecx
push 0x44d324
push 0x103
push edx
call fcn.00420511
add esp, 0x14
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x70]
push eax
push ecx
call fcn.00421e58
add esp, 8
cmp eax, 0xffffffff
jne 0x40c590
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
lea edx, [esp + 0x278]
rep stosd dword es:[edi], eax
push edx
push 0x44d2d4
lea eax, [esp + 0x690]
push 0x7ff
push eax
call fcn.00420511
mov ecx, dword [esp + 0xea4]
add esp, 0x10
test ecx, ecx
jne 0x40c558
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c568
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
mov esi, 1
mov ecx, dword [esp + 0x10]
push ecx
push 0x442810
call fcn.00421e58
add esp, 8
cmp eax, 0xffffffff
jne 0x40be20
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
lea edx, [esp + 0x278]
rep stosd dword es:[edi], eax
push edx
push 0x44d2c0
lea eax, [esp + 0x690]
push 0x7ff
push eax
call fcn.00420511
mov eax, dword [esp + 0xea4]
add esp, 0x10
test eax, eax
mov ecx, eax
jne 0x40c5f4
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c604
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
jmp 0x40be20
mov dword [esp + 0x1c], 0
jmp 0x40c71e
lea ecx, [esp + 0x37c]
push ebp
push ecx
call fcn.00429d10
add esp, 8
test eax, eax
jne 0x40c65f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40c739
lea edx, [esp + 0x174]
push 0x442810
push edx
push 0x4497e8
lea eax, [esp + 0x7c]
push 0x103
push eax
call fcn.00420511
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x84]
push ecx
push edx
call fcn.00421e58
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x40c716
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x278]
lea ecx, [esp + 0x688]
push eax
push 0x44d2ac
push 0x7ff
push ecx
call fcn.00420511
mov eax, dword [esp + 0xea4]
add esp, 0x10
test eax, eax
mov ecx, eax
jne 0x40c6de
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c6ee
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
mov dword [esp + 0x1c], 1
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x174]
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x70]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x174]
push ecx
push 0x103
push edx
call fcn.00421c4c
add esp, 0xc
test eax, eax
jne 0x40be09
test esi, esi
jne 0x40c94a
cmp dword [esp + 0x14], 1
jne 0x40c94a
lea eax, [esp + 0x37c]
push ebp
push eax
call fcn.00429d10
add esp, 8
test eax, eax
je 0x40c85e
mov eax, dword [esp + 0x1c]
push 0x442810
test eax, eax
push ebp
jne 0x40c7b6
push 0x442810
push 0x44d2a0
lea ecx, [esp + 0x80]
push 0x103
push ecx
call fcn.00420511
add esp, 0x18
jmp 0x40c7cd
push 0x44d35c
lea edx, [esp + 0x7c]
push 0x103
push edx
call fcn.00420511
add esp, 0x14
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x70]
push eax
push ecx
call fcn.00421e58
add esp, 8
cmp eax, 0xffffffff
jne 0x40c85e
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
lea edx, [esp + 0x278]
rep stosd dword es:[edi], eax
push edx
push 0x44d28c
lea eax, [esp + 0x690]
push 0x7ff
push eax
call fcn.00420511
mov ecx, dword [esp + 0xea4]
add esp, 0x10
test ecx, ecx
jne 0x40c826
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c836
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
mov al, byte [esp + 0x584]
push 0x442810
test al, al
je 0x40c89a
lea ecx, [esp + 0x588]
lea edx, [esp + 0x484]
push ecx
push edx
push 0x44d32c
lea eax, [esp + 0x80]
push 0x103
push eax
call fcn.00420511
add esp, 0x18
jmp 0x40c8b9
lea ecx, [esp + 0x484]
lea edx, [esp + 0x74]
push ecx
push 0x44d324
push 0x103
push edx
call fcn.00420511
add esp, 0x14
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x70]
push eax
push ecx
call fcn.00421e58
add esp, 8
cmp eax, 0xffffffff
jne 0x40c94a
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x688]
lea edx, [esp + 0x278]
rep stosd dword es:[edi], eax
push edx
push 0x44d278
lea eax, [esp + 0x690]
push 0x7ff
push eax
call fcn.00420511
mov ecx, dword [esp + 0xea4]
add esp, 0x10
test ecx, ecx
jne 0x40c912
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40c922
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00421af5
mov esi, dword [esp + 0x14]
push esi
call fcn.00421cf2
push esi
call fcn.00421af5
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0xc
xor esi, esi
mov edx, dword [esp + 0xe98]
push 0
lea eax, [esp + 0x27c]
push edx
push eax
call ebx
test eax, eax
jne 0x40ca5c
mov ecx, 0x200
lea edi, [esp + 0x688]
rep stosd dword es:[edi], eax
inc esi
call ebp
push eax
lea ecx, [esp + 0x74]
push 0x104
push ecx
push 0x44d19c
call fcn.00401380
mov edx, dword [esp + 0xea8]
push eax
lea eax, [esp + 0x28c]
push edx
push eax
push esi
push 0x44d248
lea ecx, [esp + 0x6ac]
push 0x7ff
push ecx
call fcn.00420511
mov eax, dword [esp + 0xec0]
add esp, 0x2c
test eax, eax
mov ecx, eax
jne 0x40c9f5
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40ca05
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
mov edx, dword [esp + 0xe9c]
push edx
push ecx
push eax
mov eax, dword [esp + 0xe9c]
push eax
lea ecx, [esp + 0x3c]
push 0x4400f0
push ecx
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
push 0
push 0x14
call fcn.0040b3a0
add esp, 0x38
cmp esi, 5
jl 0x40c975
mov dword [0x468140], 0
jmp 0x40caf4
mov dword [esp + 0x24], 1
mov dword [0x468140], 0
jmp 0x40caf4
call fcn.00421af5
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x68c]
lea edx, [esp + 0x27c]
rep stosd dword es:[edi], eax
push edx
push 0x44d1f8
lea eax, [esp + 0x694]
push 0x7ff
push eax
call fcn.00420511
mov eax, dword [esp + 0xea8]
add esp, 0x14
test eax, eax
mov ecx, eax
jne 0x40cabc
mov ecx, 0x44d150
mov eax, dword [esp + 0xe90]
test eax, eax
jne 0x40cacc
mov eax, 0x44d150
lea edx, [esp + 0x688]
push edx
push ebx
push ecx
push eax
push ebp
lea eax, [esp + 0x3c]
push 0x4400f0
push eax
push 1
push 1
push 0
push 0
push 0
call fcn.0041b920
add esp, 0x30
mov dword [0x468140], 0
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe78
ret