Function at 0x46f234
Capabilities:
Copy file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 9
add esp, 0xfffff004
push eax
dec eax
jne 0x46f23d
mov eax, dword [ebp - 4]
add esp, 0xfffffe2c
push ebx
push esi
push edi
mov esi, 0x4a0ef4
lea edi, [ebp - 0x5d90]
mov eax, 0x4a11cc
call fcn.0048d8c4
push 0x414
push 0
lea edx, [ebp - 0x38c0]
push edx
call fcn.0048d2a4
add esp, 0xc
cmp dword [0x4bc1a0], 0
je 0x46f29e
lea edx, [ebp - 0x38c0]
mov eax, 0x4ba55c
xor ecx, ecx
call fcn.0045d1a4
jmp 0x46f3a3
mov word [ebp - 0x347c], 8
lea eax, [ebp - 0xf8]
call fcn.0040eedc
add dword [ebp - 0x3470], 4
mov word [ebp - 0x347c], 0x14
lea edx, [ebp - 0xf8]
mov eax, 0x4b982c
xor ecx, ecx
call fcn.00463894
cmp dword [ebp - 0xc8], 0
jne 0x46f329
push 0x30
mov eax, 0x65
call fcn.004117b8
push eax
mov eax, 0x14c
call fcn.004117b8
push eax
push dword [0x4b9818]
call sub.USER32.DLL_MessageBoxA
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0040eff8
mov ecx, dword [ebp - 0x348c]
mov dword fs:[0], ecx
jmp 0x470283
cmp dword [ebp - 0xc8], 1
jne 0x46f350
push 0x400
push 0
lea edx, [ebp - 0x38c0]
lea eax, [ebp - 0xf8]
xor ecx, ecx
call fcn.0040f190
test al, al
jne 0x46f383
lea eax, [ebp - 0x3cc0]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x3cc0]
call fcn.0040b590
cmp byte [eax], 0
jne 0x46f373
mov eax, esi
push eax
lea edx, [ebp - 0x38c0]
push edx
call fcn.0048d424
add esp, 8
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0040eff8
mov word [ebp - 0x347c], 0
cmp byte [ebp - 0x34be], 0
je 0x46f3b1
lea edx, [esi + 8]
jmp 0x46f3b4
lea edx, [esi + 0xc]
lea eax, [ebp - 0x38c0]
call fcn.0040b8a4
xor ebx, ebx
jmp 0x46f41f
lea eax, [ebp - 0x38c0]
xor edx, edx
call fcn.0040b8a4
lea eax, [ebp - 0x38c0]
xor edx, edx
call fcn.0040b8a4
push ebx
lea ecx, [esi + 0x10]
push ecx
lea eax, [ebp - 0x3498]
push eax
call fcn.004902f4
add esp, 0xc
lea edx, [ebp - 0x3498]
lea eax, [ebp - 0x38c0]
call fcn.0040b8a4
cmp byte [ebp - 0x34be], 0
je 0x46f410
lea edx, [esi + 8]
jmp 0x46f413
lea edx, [esi + 0xc]
lea eax, [ebp - 0x38c0]
call fcn.0040b8a4
inc ebx
cmp ebx, 0x3e8
jge 0x46f438
lea eax, [ebp - 0x38c0]
xor edx, edx
call fcn.0040a0e0
test al, al
jne 0x46f3c3
lea ecx, [ebp - 0x38c0]
lea eax, [esi + 0x14]
push ecx
push 0x47028c
push dword [0x4b9818]
push eax
push dword [0x4a6fb0]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
jne 0x46f46f
mov edx, dword [ebp - 0x348c]
mov dword fs:[0], edx
jmp 0x470283
lea edx, [ebp - 0x40c0]
lea eax, [esi + 0x1b]
call fcn.00467b38
test al, al
jne 0x46f493
mov ecx, dword [ebp - 0x348c]
mov dword fs:[0], ecx
jmp 0x470283
lea eax, [ebp - 0x40c0]
call fcn.0040ba78
lea eax, [ebp - 0x38c0]
call fcn.0040b590
cmp byte [eax], 0
jne 0x46f4bf
cmp byte [ebp - 0x34be], 0
je 0x46f4bc
lea eax, [esi + 0x28]
jmp 0x46f4bf
lea eax, [esi + 0x33]
push eax
lea edx, [ebp - 0x40c0]
push edx
call fcn.0048d348
add esp, 8
lea ecx, [esi + 0x3e]
push ecx
lea eax, [ebp - 0x40c0]
push eax
call fcn.0048f3cc
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x46f50a
lea edx, [ebp - 0x40c0]
mov eax, 0x4a697c
call fcn.004297c8
mov ecx, dword [ebp - 0x348c]
mov dword fs:[0], ecx
jmp 0x470283
push 0
lea edx, [esi + 7]
xor ecx, ecx
mov eax, 0xa
call fcn.00475ac0
mov byte [ebp - 0x3499], al
mov eax, 0x556
call fcn.004117b8
call fcn.004776c4
mov byte [ebp - 0x349a], 1
push 0x1c
push 0
lea edx, [ebp - 0x40dc]
push edx
call fcn.0048d2a4
add esp, 0xc
cmp dword [0x4bc1a0], 0
jne 0x46f560
cmp byte [ebp - 0x34b6], 0
je 0x46f560
xor ecx, ecx
jmp 0x46f565
mov ecx, 1
mov byte [ebp - 0x40c4], cl
mov word [ebp - 0x347c], 0x20
lea eax, [ebp - 0x208]
call fcn.00464dc4
add dword [ebp - 0x3470], 6
mov word [ebp - 0x347c], 0x2c
mov word [ebp - 0x347c], 0x38
lea eax, [ebp - 0x318]
call fcn.00464dc4
add dword [ebp - 0x3470], 6
mov word [ebp - 0x347c], 0x2c
cmp dword [0x4bc1a0], 0
je 0x46f602
lea ecx, [ebp - 0x4cdc]
lea edx, [ebp - 0x44dc]
mov eax, 0x4ba55c
call fcn.0045d1a4
lea edx, [ebp - 0x318]
lea ecx, [ebp - 0x40dc]
push edx
push ecx
lea ecx, [ebp - 0x208]
lea edx, [ebp - 0x4cdc]
lea eax, [ebp - 0x44dc]
call fcn.00470920
mov byte [ebp - 0x349a], al
jmp 0x46f93d
mov word [ebp - 0x347c], 0x44
lea eax, [ebp - 0x410]
call fcn.0040eedc
add dword [ebp - 0x3470], 4
mov word [ebp - 0x347c], 0x50
lea edx, [ebp - 0x410]
mov eax, 0x4b982c
xor ecx, ecx
call fcn.00463894
mov word [ebp - 0x347c], 0x5c
push 0
push 1
lea edx, [ebp - 0x410]
lea eax, [ebp - 0x283c]
mov ecx, 2
call fcn.00412404
inc dword [ebp - 0x3470]
mov word [ebp - 0x347c], 0x50
lea eax, [edi + 0xc14]
call fcn.00412ecc
lea eax, [edi + 0xc40]
call fcn.00412ecc
lea eax, [edi + 0xc6c]
call fcn.00412ecc
jmp 0x46f8f2
call fcn.00444324
cmp byte [ebp - 0x34b6], 0
je 0x46f890
push 0xc30
push 0
lea edx, [ebp - 0x69c0]
push edx
call fcn.0048d2a4
add esp, 0xc
push edi
lea ecx, [ebp - 0x69c0]
push ecx
call fcn.0048d424
add esp, 8
lea edx, [edi + 0x400]
lea eax, [ebp - 0x65c0]
call fcn.0040f9f8
mov eax, dword [edi + 0xc00]
mov edx, dword [edi + 0xc04]
mov dword [ebp - 0x5db8], eax
mov dword [ebp - 0x5db4], edx
mov dword [ebp - 0x5dc0], eax
mov dword [ebp - 0x5dbc], edx
cmp byte [ebp - 0x34b2], 0
je 0x46f769
test byte [edi + 0xc09], 8
je 0x46f769
call fcn.0040f8f0
test eax, eax
je 0x46f769
lea ecx, [ebp - 0x34a4]
push ecx
push edi
call sub.KERNEL32.DLL_GetCompressedFileSizeA
mov dword [ebp - 0x34a0], eax
cmp dword [ebp - 0x34a0], 0xffffffff
jne 0x46f73d
call sub.KERNEL32.DLL_GetLastError
test eax, eax
jne 0x46f769
mov eax, dword [ebp - 0x34a4]
xor edx, edx
mov edx, eax
xor eax, eax
push edx
push eax
mov eax, dword [ebp - 0x34a0]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0x5db8], eax
mov dword [ebp - 0x5db4], edx
mov ecx, dword [edi + 0xc08]
mov dword [ebp - 0x5db0], ecx
mov eax, dword [edi + 0x10a8]
mov dword [ebp - 0x5dac], eax
mov eax, dword [edi + 0x10ac]
mov dword [ebp - 0x5da8], eax
mov edx, dword [ebp - 0x40c8]
inc dword [ebp - 0x40c8]
mov dword [ebp - 0x5d9c], edx
inc dword [ebp - 0x40dc]
mov eax, dword [ebp - 0x5dc0]
mov edx, dword [ebp - 0x5dbc]
add dword [ebp - 0x40d8], eax
adc dword [ebp - 0x40d4], edx
mov eax, dword [ebp - 0x5db8]
mov edx, dword [ebp - 0x5db4]
add dword [ebp - 0x40d0], eax
adc dword [ebp - 0x40cc], edx
cmp byte [ebp - 0x34b0], 0
je 0x46f86d
mov eax, dword [ebp - 0x5db0]
call fcn.0040a258
test al, al
jne 0x46f86d
mov word [ebp - 0x347c], 0x68
lea eax, [ebp - 0x345c]
call fcn.00409038
inc dword [ebp - 0x3470]
mov word [ebp - 0x347c], 0x74
push 0
push 0
lea ecx, [edi + 0x400]
mov edx, edi
lea eax, [ebp - 0x345c]
call fcn.00409130
test al, al
je 0x46f84e
push 0x80000000
push 0
lea eax, [ebp - 0x345c]
call fcn.0040a6c4
mov dword [ebp - 0x5da0], eax
or dword [ebp - 0x5da4], 8
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x345c]
mov edx, 2
call fcn.004090e8
mov word [ebp - 0x347c], 0x50
lea edx, [ebp - 0x69c0]
lea eax, [ebp - 0x208]
call fcn.00464f04
cmp byte [ebp - 0xfc], 0
je 0x46f890
mov byte [ebp - 0x349a], 0
jmp 0x46f907
cmp dword [0x4bc1ac], 0
jne 0x46f8e9
cmp byte [ebp - 0x34b7], 0
je 0x46f8f2
cmp byte [edi + 0xc10], 0
jne 0x46f8f2
push 0
push 2
lea ecx, [edi + 0x400]
mov edx, edi
mov eax, 0x4ba55c
call fcn.0045bc70
dec eax
jne 0x46f8f2
lea ecx, [ebp - 0x318]
lea eax, [ebp - 0x40dc]
push ecx
push eax
mov eax, edi
lea ecx, [ebp - 0x208]
lea edx, [edi + 0x400]
call fcn.00470920
test al, al
jne 0x46f8f2
mov byte [ebp - 0x349a], 0
jmp 0x46f907
mov edx, edi
lea eax, [ebp - 0x283c]
call fcn.00412538
test eax, eax
je 0x46f690
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x283c]
mov edx, 2
call fcn.004124dc
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0x410]
mov edx, 2
call fcn.0040eff8
mov word [ebp - 0x347c], 0x2c
cmp byte [ebp - 0x349a], 0
je 0x4701f3
lea eax, [ebp - 0x208]
call fcn.004651b8
lea eax, [ebp - 0x318]
call fcn.004651b8
cmp dword [ebp - 0x34bc], 6
je 0x46f998
push 0x46f0fc
push 0x38
push dword [ebp - 0x104]
lea edx, [ebp - 0x38c0]
lea eax, [ebp - 0x208]
mov dword [0x4c952c], edx
xor edx, edx
call fcn.00465288
push eax
call fcn.00494164
add esp, 0x10
cmp byte [ebp - 0x34be], 0
je 0x46fa3f
lea eax, [ebp - 0x6e84]
call fcn.00412ecc
mov word [ebp - 0x347c], 0x2c
lea eax, [ebp - 0x6e84]
call fcn.00413380
push esi
lea esi, [ebp - 0x6e84]
lea edi, [ebp - 0x6ea8]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
push dword [ebp - 0x6e98]
push dword [ebp - 0x6e9c]
push dword [ebp - 0x6ea0]
push dword [ebp - 0x6ea4]
push dword [ebp - 0x6ea8]
lea eax, [esi + 0x42]
push eax
lea edx, [ebp - 0x6e58]
push edx
call fcn.004902f4
add esp, 0x1c
lea ecx, [ebp - 0x6e58]
push ecx
mov eax, 0x55b
call fcn.004117b8
push eax
lea edx, [ebp - 0x6e24]
push edx
call fcn.004902f4
add esp, 0xc
lea ecx, [ebp - 0x6e24]
push ecx
lea eax, [esi + 0x59]
push eax
push ebx
call fcn.0048f400
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x34a8], edx
mov word [ebp - 0x347c], 0x2c
xor edi, edi
jmp 0x46fd2f
mov byte [ebp - 0x76a8], 0
lea ecx, [ebp - 0x82d8]
lea eax, [ebp - 0x208]
mov edx, edi
call fcn.004650ec
mov word [ebp - 0x347c], 0x2c
cmp byte [ebp - 0x34b5], 0
je 0x46fb49
mov eax, dword [ebp - 0x76ac]
cmp eax, dword [ebp - 0x34a8]
je 0x46fb49
mov edx, dword [ebp - 0x76ac]
mov dword [ebp - 0x34a8], edx
cmp byte [ebp - 0x34be], 0
je 0x46fabe
lea ecx, [esi + 0x95]
push ecx
push ebx
call fcn.0048f400
add esp, 8
lea eax, [esi + 0x99]
push eax
push ebx
call fcn.0048f400
add esp, 8
cmp dword [ebp - 0x76ac], 0
je 0x46fb0c
lea ecx, [ebp - 0x8f08]
mov edx, dword [ebp - 0x76ac]
dec edx
lea eax, [ebp - 0x318]
call fcn.004650ec
lea edx, [ebp - 0x8f08]
mov eax, 0x28a
push edx
call fcn.004117b8
push eax
push ebx
call fcn.0048f400
add esp, 0xc
jmp 0x46fb20
mov eax, 0x558
call fcn.004117b8
push eax
push ebx
call fcn.0048f400
add esp, 8
cmp byte [ebp - 0x34be], 0
je 0x46fb39
lea edx, [esi + 0x9d]
push edx
push ebx
call fcn.0048f400
add esp, 8
lea ecx, [esi + 0x92]
push ecx
push ebx
call fcn.0048f400
add esp, 8
mov eax, dword [ebp - 0x76c8]
call fcn.0040a258
mov byte [ebp - 0x34a9], al
cmp byte [ebp - 0x34b1], 0
je 0x46fbd9
lea eax, [ebp - 0x8f34]
call fcn.00412ecc
lea edx, [ebp - 0x76c4]
lea eax, [ebp - 0x8f34]
call fcn.00412ef4
push esi
push edi
lea esi, [ebp - 0x8f34]
lea edi, [ebp - 0x8f58]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push dword [ebp - 0x8f48]
push dword [ebp - 0x8f4c]
push dword [ebp - 0x8f50]
push dword [ebp - 0x8f54]
push dword [ebp - 0x8f58]
lea eax, [esi + 0xa2]
push eax
lea edx, [ebp - 0x76a8]
push edx
call fcn.0048d454
pop ecx
lea ecx, [ebp - 0x76a8]
add eax, ecx
push eax
call fcn.004902f4
add esp, 0x1c
cmp byte [ebp - 0x34b3], 0
je 0x46fc3a
push dword [ebp - 0x76d4]
push dword [ebp - 0x76d8]
lea eax, [ebp - 0x8f78]
call fcn.0040b4a4
cmp byte [ebp - 0x34a9], 0
je 0x46fc0e
mov eax, 0x573
call fcn.004117b8
jmp 0x46fc14
lea eax, [ebp - 0x8f78]
push eax
lea edx, [esi + 0xbb]
push edx
lea ecx, [ebp - 0x76a8]
push ecx
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x76a8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
cmp byte [ebp - 0x34b2], 0
je 0x46fc9b
push dword [ebp - 0x76cc]
push dword [ebp - 0x76d0]
lea eax, [ebp - 0x8f98]
call fcn.0040b4a4
cmp byte [ebp - 0x34a9], 0
je 0x46fc6f
mov eax, 0x573
call fcn.004117b8
jmp 0x46fc75
lea eax, [ebp - 0x8f98]
push eax
lea edx, [esi + 0xbb]
push edx
lea ecx, [ebp - 0x76a8]
push ecx
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x76a8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
cmp byte [ebp - 0x34b0], 0
je 0x46fd01
test byte [ebp - 0x76bc], 8
je 0x46fcda
push dword [ebp - 0x76b8]
lea eax, [esi + 0xc2]
push eax
lea ecx, [ebp - 0x76a8]
push ecx
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x76a8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
jmp 0x46fd01
cmp byte [ebp - 0x34a9], 0
je 0x46fceb
lea eax, [esi + 0xc9]
jmp 0x46fcf1
lea eax, [esi + 0xd4]
push eax
lea edx, [ebp - 0x76a8]
push edx
call fcn.0048d348
add esp, 8
lea ecx, [ebp - 0x82d8]
push ecx
lea eax, [ebp - 0x76a8]
push eax
call fcn.0048d348
add esp, 8
lea edx, [ebp - 0x76a8]
push edx
lea ecx, [esi + 0xdf]
push ecx
push ebx
call fcn.0048f400
add esp, 0xc
inc edi
cmp edi, dword [ebp - 0x104]
jb 0x46fa57
cmp byte [ebp - 0x34b4], 0
je 0x470001
push dword [ebp - 0x40d4]
push dword [ebp - 0x40d8]
lea eax, [ebp - 0x8fb8]
call fcn.0040b4a4
push dword [ebp - 0x40cc]
push dword [ebp - 0x40d0]
lea eax, [ebp - 0x8fd8]
call fcn.0040b4a4
cmp byte [ebp - 0x34be], 0
je 0x46fd8f
lea edx, [esi + 0x95]
push edx
push ebx
call fcn.0048f400
add esp, 8
lea ecx, [esi + 0xe4]
push ecx
push ebx
call fcn.0048f400
add esp, 8
xor eax, eax
mov byte [ebp - 0x91d8], al
mov byte [ebp - 0x90d8], al
cmp byte [ebp - 0x34b1], 0
je 0x46fe0f
mov eax, 0x1aa
call fcn.004117b8
push eax
lea edx, [esi + 0xe8]
push edx
lea ecx, [ebp - 0x90d8]
push ecx
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x90d8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
lea eax, [esi + 7]
push eax
lea ecx, [esi + 0xe8]
push ecx
lea eax, [ebp - 0x91d8]
push eax
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x91d8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
cmp byte [ebp - 0x34b3], 0
je 0x46fe74
mov eax, 0x6f
call fcn.004117b8
push eax
lea edx, [esi + 0xbb]
push edx
lea ecx, [ebp - 0x90d8]
push ecx
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x90d8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
lea eax, [ebp - 0x8fb8]
push eax
lea ecx, [esi + 0xbb]
push ecx
lea eax, [ebp - 0x91d8]
push eax
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x91d8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
cmp byte [ebp - 0x34b2], 0
je 0x46fed9
mov eax, 0x71
call fcn.004117b8
push eax
lea edx, [esi + 0xbb]
push edx
lea ecx, [ebp - 0x90d8]
push ecx
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x90d8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
lea eax, [ebp - 0x8fd8]
push eax
lea ecx, [esi + 0xbb]
push ecx
lea eax, [ebp - 0x91d8]
push eax
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x91d8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
cmp byte [ebp - 0x34b0], 0
je 0x46ff0e
lea ecx, [esi + 0xf2]
push ecx
lea eax, [ebp - 0x90d8]
push eax
call fcn.0048d348
add esp, 8
lea edx, [esi + 0xf2]
push edx
lea ecx, [ebp - 0x91d8]
push ecx
call fcn.0048d348
add esp, 8
cmp byte [ebp - 0x90d8], 0
jne 0x46ff43
lea eax, [esi + 0xfd]
push eax
lea edx, [ebp - 0x90d8]
push edx
call fcn.0048d424
add esp, 8
lea ecx, [esi + 0xfd]
push ecx
lea eax, [ebp - 0x91d8]
push eax
call fcn.0048d424
add esp, 8
mov eax, 0x559
call fcn.004117b8
push eax
lea edx, [ebp - 0x90d8]
push edx
call fcn.0048d348
add esp, 8
lea ecx, [esi + 0x100]
lea eax, [ebp - 0x91d8]
push dword [ebp - 0x40dc]
push ecx
push eax
call fcn.0048d454
pop ecx
lea edx, [ebp - 0x91d8]
add eax, edx
push eax
call fcn.004902f4
add esp, 0xc
xor ecx, ecx
mov cl, byte [ebp - 0x90d8]
cmp ecx, 0x20
jne 0x46ffa9
xor eax, eax
mov al, byte [ebp - 0x90d7]
cmp eax, 0x20
jne 0x46ffa9
mov byte [ebp - 0x90d8], 0x23
xor edx, edx
mov dl, byte [ebp - 0x91d8]
cmp edx, 0x20
jne 0x46ffca
xor ecx, ecx
mov cl, byte [ebp - 0x91d7]
cmp ecx, 0x20
jne 0x46ffca
mov byte [ebp - 0x91d8], 0x23
lea eax, [ebp - 0x91d8]
push eax
lea edx, [ebp - 0x90d8]
push edx
lea ecx, [esi + 0x103]
push ecx
push ebx
call fcn.0048f400
add esp, 0x10
cmp byte [ebp - 0x34be], 0
je 0x470001
lea eax, [esi + 0x9d]
push eax
push ebx
call fcn.0048f400
add esp, 8
cmp byte [ebp - 0x34be], 0
je 0x47001a
lea edx, [esi + 0x10c]
push edx
push ebx
call fcn.0048f400
add esp, 8
cmp byte [ebp - 0x34bf], 0
je 0x470167
push ebx
call fcn.0048ef78
pop ecx
xor ecx, ecx
mov cl, byte [ebx + 0x16]
push ecx
call fcn.0048f144
pop ecx
mov esi, eax
cmp esi, 0xffffffff
je 0x470167
mov word [ebp - 0x347c], 0x80
mov word [ebp - 0x347c], 0x8c
lea edx, [esi + 1]
lea eax, [ebp - 0x3468]
call fcn.00401a54
inc dword [ebp - 0x3470]
mov word [ebp - 0x347c], 0x98
push 0
push 0
push ebx
call fcn.0048f6e4
add esp, 0xc
push ebx
push esi
push 1
push dword [ebp - 0x3468]
call fcn.0048f644
add esp, 0x10
mov eax, dword [ebp - 0x3468]
mov byte [eax + esi], 0
call fcn.00444418
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x3468]
mov edx, 2
call fcn.00401acc
mov word [ebp - 0x347c], 0x80
mov word [ebp - 0x347c], 0x2c
jmp 0x470167
push ebx
call fcn.0048eed0
cmp byte [ebp - 0x38c0], 0
pop ecx
je 0x4701a0
push 0
lea edx, [ebp - 0x38c0]
push edx
lea ecx, [ebp - 0x40c0]
push ecx
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
jne 0x4701a0
lea edx, [ebp - 0x38c0]
mov eax, 0x4a697c
call fcn.004297c8
cmp byte [ebp - 0x34c0], 0
je 0x4701b6
lea eax, [ebp - 0x40c0]
xor edx, edx
call fcn.0046dc58
cmp byte [ebp - 0x34c0], 0
jne 0x4701ca
lea eax, [ebp - 0x40c0]
call fcn.00444360
cmp dword [0x4bc1a0], 0
jne 0x4701f3
cmp byte [ebp - 0x38c0], 0
je 0x4701f3
lea eax, [ebp - 0x38c0]
call fcn.0040b590
mov edx, eax
mov eax, 0x4b982c
call fcn.0045e284
dec dword [ebp - 0x3470]
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x220]
mov edx, 2
call fcn.004393d4
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0x318]
mov edx, 2
call fcn.0040eff8
dec dword [ebp - 0x3470]
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.004393d4
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040eff8
mov word [ebp - 0x347c], 0
cmp byte [ebp - 0x3499], 0
je 0x470276
push dword [0x4b9824]
call sub.USER32.DLL_DestroyWindow
mov ecx, dword [ebp - 0x348c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret