Function at 0x475eb4
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 0x475ebd
mov eax, dword [ebp - 4]
add esp, 0xfffffe2c
push ebx
push esi
push edi
mov esi, str.report.
lea edi, [ebp - 0x5d90]
mov eax, 0x4a88dc
call fcn.00494df8
push 0x414
push 0
lea edx, [ebp - 0x38c0]
push edx
call fcn.00494848
add esp, 0xc
cmp dword [0x4c3de0], 0
je 0x475f1e
lea edx, [ebp - 0x38c0]
mov eax, 0x4c219c
xor ecx, ecx
call fcn.004623f0
jmp 0x476023
mov word [ebp - 0x347c], 8
lea eax, [ebp - 0xf8]
call fcn.0040f5c0
add dword [ebp - 0x3470], 4
mov word [ebp - 0x347c], 0x14
lea edx, [ebp - 0xf8]
mov eax, 0x4c1454
xor ecx, ecx
call fcn.00468d04
cmp dword [ebp - 0xc8], 0
jne 0x475fa9
push 0x30
mov eax, 0x65
call fcn.00411fe8
push eax
mov eax, 0x14c
call fcn.00411fe8
push eax
push dword [0x4c1440]
call sub.USER32.DLL_MessageBoxA
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0040f698
mov ecx, dword [ebp - 0x348c]
mov dword fs:[0], ecx
jmp 0x476f34
cmp dword [ebp - 0xc8], 1
jne 0x475fd0
push 0x400
push 0
lea edx, [ebp - 0x38c0]
lea eax, [ebp - 0xf8]
xor ecx, ecx
call fcn.0040f830
test al, al
jne 0x476003
lea eax, [ebp - 0x3cc0]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x3cc0]
call fcn.0040ba30
cmp byte [eax], 0
jne 0x475ff3
mov eax, esi
push eax
lea edx, [ebp - 0x38c0]
push edx
call fcn.004949c8
add esp, 8
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.0040f698
mov word [ebp - 0x347c], 0
cmp dword [0x4c3de0], 0
je 0x476031
lea ebx, [esi + 8]
jmp 0x476034
lea ebx, [esi + 0x1c]
lea edx, [esi + 0x31]
mov ecx, 1
mov eax, ebx
call fcn.0046bff8
test eax, eax
setne al
and eax, 1
mov byte [ebp - 0x34be], al
cmp byte [ebp - 0x34be], 0
je 0x47605f
lea edx, [esi + 0x36]
jmp 0x476062
lea edx, [esi + 0x3a]
lea eax, [ebp - 0x38c0]
call fcn.0040bd60
xor ebx, ebx
jmp 0x4760cd
lea eax, [ebp - 0x38c0]
xor edx, edx
call fcn.0040bd60
lea eax, [ebp - 0x38c0]
xor edx, edx
call fcn.0040bd60
push ebx
lea ecx, [esi + 0x3e]
push ecx
lea eax, [ebp - 0x3498]
push eax
call fcn.00497928
add esp, 0xc
lea edx, [ebp - 0x3498]
lea eax, [ebp - 0x38c0]
call fcn.0040bd60
cmp byte [ebp - 0x34be], 0
je 0x4760be
lea edx, [esi + 0x36]
jmp 0x4760c1
lea edx, [esi + 0x3a]
lea eax, [ebp - 0x38c0]
call fcn.0040bd60
inc ebx
cmp ebx, 0x3e8
jge 0x4760e6
lea eax, [ebp - 0x38c0]
xor edx, edx
call fcn.0040a4d8
test al, al
jne 0x476071
lea ecx, [ebp - 0x38c0]
lea eax, [esi + 0x42]
push ecx
push 0x476f3c
push dword [0x4c1440]
push eax
push dword [0x4ae754]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
jne 0x47611d
mov edx, dword [ebp - 0x348c]
mov dword fs:[0], edx
jmp 0x476f34
lea edx, [ebp - 0x40c0]
lea eax, [esi + 0x49]
call fcn.0046e4b4
test al, al
jne 0x476141
mov ecx, dword [ebp - 0x348c]
mov dword fs:[0], ecx
jmp 0x476f34
lea eax, [ebp - 0x40c0]
call fcn.0040bf34
lea eax, [ebp - 0x38c0]
call fcn.0040ba30
cmp byte [eax], 0
jne 0x47616d
cmp byte [ebp - 0x34be], 0
je 0x47616a
lea eax, [esi + 0x56]
jmp 0x47616d
lea eax, [esi + 0x61]
push eax
lea edx, [ebp - 0x40c0]
push edx
call fcn.004948ec
add esp, 8
lea ecx, [esi + 0x6c]
push ecx
lea eax, [ebp - 0x40c0]
push eax
call fcn.00496900
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x4761b8
lea edx, [ebp - 0x40c0]
mov eax, 0x4ae120
call fcn.0042cdb8
mov ecx, dword [ebp - 0x348c]
mov dword fs:[0], ecx
jmp 0x476f34
push 0
lea edx, [esi + 7]
xor ecx, ecx
mov eax, 0xa
call fcn.0047c8e4
mov byte [ebp - 0x3499], al
mov eax, 0x556
call fcn.00411fe8
call fcn.0047e5d0
mov byte [ebp - 0x349a], 1
push 0x1c
push 0
lea edx, [ebp - 0x40dc]
push edx
call fcn.00494848
add esp, 0xc
cmp dword [0x4c3de0], 0
jne 0x47620e
cmp byte [ebp - 0x34b6], 0
je 0x47620e
xor ecx, ecx
jmp 0x476213
mov ecx, 1
mov byte [ebp - 0x40c4], cl
mov word [ebp - 0x347c], 0x20
lea eax, [ebp - 0x208]
call fcn.0046b394
add dword [ebp - 0x3470], 6
mov word [ebp - 0x347c], 0x2c
mov word [ebp - 0x347c], 0x38
lea eax, [ebp - 0x318]
call fcn.0046b394
add dword [ebp - 0x3470], 6
mov word [ebp - 0x347c], 0x2c
cmp dword [0x4c3de0], 0
je 0x4762b0
lea ecx, [ebp - 0x4cdc]
lea edx, [ebp - 0x44dc]
mov eax, 0x4c219c
call fcn.004623f0
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.004775d0
mov byte [ebp - 0x349a], al
jmp 0x4765eb
mov word [ebp - 0x347c], 0x44
lea eax, [ebp - 0x410]
call fcn.0040f5c0
add dword [ebp - 0x3470], 4
mov word [ebp - 0x347c], 0x50
lea edx, [ebp - 0x410]
mov eax, 0x4c1454
xor ecx, ecx
call fcn.00468d04
mov word [ebp - 0x347c], 0x5c
push 0
push 1
lea edx, [ebp - 0x410]
lea eax, [ebp - 0x283c]
mov ecx, 2
call fcn.00412c98
inc dword [ebp - 0x3470]
mov word [ebp - 0x347c], 0x50
lea eax, [edi + 0xc14]
call fcn.00413750
lea eax, [edi + 0xc40]
call fcn.00413750
lea eax, [edi + 0xc6c]
call fcn.00413750
jmp 0x4765a0
call fcn.004481c8
cmp byte [ebp - 0x34b6], 0
je 0x47653e
push 0xc30
push 0
lea edx, [ebp - 0x69c0]
push edx
call fcn.00494848
add esp, 0xc
push edi
lea ecx, [ebp - 0x69c0]
push ecx
call fcn.004949c8
add esp, 8
lea edx, [edi + 0x400]
lea eax, [ebp - 0x65c0]
call fcn.00410200
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 0x476417
test byte [edi + 0xc09], 8
je 0x476417
call fcn.0040ff8c
test eax, eax
je 0x476417
lea ecx, [ebp - 0x34a4]
push ecx
push edi
call sub.KERNEL32.DLL_GetCompressedFileSizeA
mov dword [ebp - 0x34a0], eax
cmp dword [ebp - 0x34a0], 0xffffffff
jne 0x4763eb
call sub.KERNEL32.DLL_GetLastError
test eax, eax
jne 0x476417
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 0x47651b
mov eax, dword [ebp - 0x5db0]
call fcn.0040a650
test al, al
jne 0x47651b
mov word [ebp - 0x347c], 0x68
lea eax, [ebp - 0x345c]
call fcn.00409424
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.00409518
test al, al
je 0x4764fc
push 0x80000000
push 0
lea eax, [ebp - 0x345c]
call fcn.0040aabc
mov dword [ebp - 0x5da0], eax
or dword [ebp - 0x5da4], 8
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x345c]
mov edx, 2
call fcn.004094d4
mov word [ebp - 0x347c], 0x50
lea edx, [ebp - 0x69c0]
lea eax, [ebp - 0x208]
call fcn.0046b4d4
cmp byte [ebp - 0xfc], 0
je 0x47653e
mov byte [ebp - 0x349a], 0
jmp 0x4765b5
cmp dword [0x4c3df0], 0
jne 0x476597
cmp byte [ebp - 0x34b7], 0
je 0x4765a0
cmp byte [edi + 0xc10], 0
jne 0x4765a0
push 0
push 2
lea ecx, [edi + 0x400]
mov edx, edi
mov eax, 0x4c219c
call fcn.00460e08
dec eax
jne 0x4765a0
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.004775d0
test al, al
jne 0x4765a0
mov byte [ebp - 0x349a], 0
jmp 0x4765b5
mov edx, edi
lea eax, [ebp - 0x283c]
call fcn.00412dcc
test eax, eax
je 0x47633e
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x283c]
mov edx, 2
call fcn.00412d70
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0x410]
mov edx, 2
call fcn.0040f698
mov word [ebp - 0x347c], 0x2c
cmp byte [ebp - 0x349a], 0
je 0x476ea4
lea eax, [ebp - 0x208]
call fcn.0046b788
lea eax, [ebp - 0x318]
call fcn.0046b788
cmp dword [ebp - 0x34bc], 6
je 0x476646
push 0x475d84
push 0x38
push dword [ebp - 0x104]
lea edx, [ebp - 0x38c0]
lea eax, [ebp - 0x208]
mov dword [0x4cfdc8], edx
xor edx, edx
call fcn.0046b878
push eax
call fcn.0049b798
add esp, 0x10
cmp byte [ebp - 0x34be], 0
je 0x4766f0
lea eax, [ebp - 0x6e84]
call fcn.00413750
mov word [ebp - 0x347c], 0x2c
lea eax, [ebp - 0x6e84]
call fcn.00413c04
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 + 0x70]
push eax
lea edx, [ebp - 0x6e58]
push edx
call fcn.00497928
add esp, 0x1c
lea ecx, [ebp - 0x6e58]
push ecx
mov eax, 0x55b
call fcn.00411fe8
push eax
lea edx, [ebp - 0x6e24]
push edx
call fcn.00497928
add esp, 0xc
lea ecx, [ebp - 0x6e24]
push ecx
lea eax, [esi + 0x87]
push eax
push ebx
call fcn.00496934
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x34a8], edx
mov word [ebp - 0x347c], 0x2c
xor edi, edi
jmp 0x4769e0
mov byte [ebp - 0x76a8], 0
lea ecx, [ebp - 0x82d8]
lea eax, [ebp - 0x208]
mov edx, edi
call fcn.0046b6bc
mov word [ebp - 0x347c], 0x2c
cmp byte [ebp - 0x34b5], 0
je 0x4767fa
mov eax, dword [ebp - 0x76ac]
cmp eax, dword [ebp - 0x34a8]
je 0x4767fa
mov edx, dword [ebp - 0x76ac]
mov dword [ebp - 0x34a8], edx
cmp byte [ebp - 0x34be], 0
je 0x47676f
lea ecx, [esi + 0xc3]
push ecx
push ebx
call fcn.00496934
add esp, 8
lea eax, [esi + 0xc7]
push eax
push ebx
call fcn.00496934
add esp, 8
cmp dword [ebp - 0x76ac], 0
je 0x4767bd
lea ecx, [ebp - 0x8f08]
mov edx, dword [ebp - 0x76ac]
dec edx
lea eax, [ebp - 0x318]
call fcn.0046b6bc
lea edx, [ebp - 0x8f08]
mov eax, 0x28a
push edx
call fcn.00411fe8
push eax
push ebx
call fcn.00496934
add esp, 0xc
jmp 0x4767d1
mov eax, 0x558
call fcn.00411fe8
push eax
push ebx
call fcn.00496934
add esp, 8
cmp byte [ebp - 0x34be], 0
je 0x4767ea
lea edx, [esi + 0xcb]
push edx
push ebx
call fcn.00496934
add esp, 8
lea ecx, [esi + 0xc0]
push ecx
push ebx
call fcn.00496934
add esp, 8
mov eax, dword [ebp - 0x76c8]
call fcn.0040a650
mov byte [ebp - 0x34a9], al
cmp byte [ebp - 0x34b1], 0
je 0x47688a
lea eax, [ebp - 0x8f34]
call fcn.00413750
lea edx, [ebp - 0x76c4]
lea eax, [ebp - 0x8f34]
call fcn.00413778
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 + 0xd0]
push eax
lea edx, [ebp - 0x76a8]
push edx
call fcn.004949f8
pop ecx
lea ecx, [ebp - 0x76a8]
add eax, ecx
push eax
call fcn.00497928
add esp, 0x1c
cmp byte [ebp - 0x34b3], 0
je 0x4768eb
push dword [ebp - 0x76d4]
push dword [ebp - 0x76d8]
lea eax, [ebp - 0x8f78]
call fcn.0040b944
cmp byte [ebp - 0x34a9], 0
je 0x4768bf
mov eax, 0x573
call fcn.00411fe8
jmp 0x4768c5
lea eax, [ebp - 0x8f78]
push eax
lea edx, [esi + 0xe9]
push edx
lea ecx, [ebp - 0x76a8]
push ecx
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x76a8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
cmp byte [ebp - 0x34b2], 0
je 0x47694c
push dword [ebp - 0x76cc]
push dword [ebp - 0x76d0]
lea eax, [ebp - 0x8f98]
call fcn.0040b944
cmp byte [ebp - 0x34a9], 0
je 0x476920
mov eax, 0x573
call fcn.00411fe8
jmp 0x476926
lea eax, [ebp - 0x8f98]
push eax
lea edx, [esi + 0xe9]
push edx
lea ecx, [ebp - 0x76a8]
push ecx
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x76a8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
cmp byte [ebp - 0x34b0], 0
je 0x4769b2
test byte [ebp - 0x76bc], 8
je 0x47698b
push dword [ebp - 0x76b8]
lea eax, [esi + 0xf0]
push eax
lea ecx, [ebp - 0x76a8]
push ecx
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x76a8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
jmp 0x4769b2
cmp byte [ebp - 0x34a9], 0
je 0x47699c
lea eax, [esi + 0xf7]
jmp 0x4769a2
lea eax, [esi + 0x102]
push eax
lea edx, [ebp - 0x76a8]
push edx
call fcn.004948ec
add esp, 8
lea ecx, [ebp - 0x82d8]
push ecx
lea eax, [ebp - 0x76a8]
push eax
call fcn.004948ec
add esp, 8
lea edx, [ebp - 0x76a8]
push edx
lea ecx, [esi + 0x10d]
push ecx
push ebx
call fcn.00496934
add esp, 0xc
inc edi
cmp edi, dword [ebp - 0x104]
jb 0x476708
cmp byte [ebp - 0x34b4], 0
je 0x476cb2
push dword [ebp - 0x40d4]
push dword [ebp - 0x40d8]
lea eax, [ebp - 0x8fb8]
call fcn.0040b944
push dword [ebp - 0x40cc]
push dword [ebp - 0x40d0]
lea eax, [ebp - 0x8fd8]
call fcn.0040b944
cmp byte [ebp - 0x34be], 0
je 0x476a40
lea edx, [esi + 0xc3]
push edx
push ebx
call fcn.00496934
add esp, 8
lea ecx, [esi + 0x112]
push ecx
push ebx
call fcn.00496934
add esp, 8
xor eax, eax
mov byte [ebp - 0x91d8], al
mov byte [ebp - 0x90d8], al
cmp byte [ebp - 0x34b1], 0
je 0x476ac0
mov eax, 0x1aa
call fcn.00411fe8
push eax
lea edx, [esi + 0x116]
push edx
lea ecx, [ebp - 0x90d8]
push ecx
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x90d8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
lea eax, [esi + 7]
push eax
lea ecx, [esi + 0x116]
push ecx
lea eax, [ebp - 0x91d8]
push eax
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x91d8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
cmp byte [ebp - 0x34b3], 0
je 0x476b25
mov eax, 0x6f
call fcn.00411fe8
push eax
lea edx, [esi + 0xe9]
push edx
lea ecx, [ebp - 0x90d8]
push ecx
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x90d8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
lea eax, [ebp - 0x8fb8]
push eax
lea ecx, [esi + 0xe9]
push ecx
lea eax, [ebp - 0x91d8]
push eax
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x91d8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
cmp byte [ebp - 0x34b2], 0
je 0x476b8a
mov eax, 0x71
call fcn.00411fe8
push eax
lea edx, [esi + 0xe9]
push edx
lea ecx, [ebp - 0x90d8]
push ecx
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x90d8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
lea eax, [ebp - 0x8fd8]
push eax
lea ecx, [esi + 0xe9]
push ecx
lea eax, [ebp - 0x91d8]
push eax
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x91d8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
cmp byte [ebp - 0x34b0], 0
je 0x476bbf
lea ecx, [esi + 0x120]
push ecx
lea eax, [ebp - 0x90d8]
push eax
call fcn.004948ec
add esp, 8
lea edx, [esi + 0x120]
push edx
lea ecx, [ebp - 0x91d8]
push ecx
call fcn.004948ec
add esp, 8
cmp byte [ebp - 0x90d8], 0
jne 0x476bf4
lea eax, [esi + 0x12b]
push eax
lea edx, [ebp - 0x90d8]
push edx
call fcn.004949c8
add esp, 8
lea ecx, [esi + 0x12b]
push ecx
lea eax, [ebp - 0x91d8]
push eax
call fcn.004949c8
add esp, 8
mov eax, 0x559
call fcn.00411fe8
push eax
lea edx, [ebp - 0x90d8]
push edx
call fcn.004948ec
add esp, 8
lea ecx, [esi + 0x12e]
lea eax, [ebp - 0x91d8]
push dword [ebp - 0x40dc]
push ecx
push eax
call fcn.004949f8
pop ecx
lea edx, [ebp - 0x91d8]
add eax, edx
push eax
call fcn.00497928
add esp, 0xc
xor ecx, ecx
mov cl, byte [ebp - 0x90d8]
cmp ecx, 0x20
jne 0x476c5a
xor eax, eax
mov al, byte [ebp - 0x90d7]
cmp eax, 0x20
jne 0x476c5a
mov byte [ebp - 0x90d8], 0x23
xor edx, edx
mov dl, byte [ebp - 0x91d8]
cmp edx, 0x20
jne 0x476c7b
xor ecx, ecx
mov cl, byte [ebp - 0x91d7]
cmp ecx, 0x20
jne 0x476c7b
mov byte [ebp - 0x91d8], 0x23
lea eax, [ebp - 0x91d8]
push eax
lea edx, [ebp - 0x90d8]
push edx
lea ecx, [esi + 0x131]
push ecx
push ebx
call fcn.00496934
add esp, 0x10
cmp byte [ebp - 0x34be], 0
je 0x476cb2
lea eax, [esi + 0xcb]
push eax
push ebx
call fcn.00496934
add esp, 8
cmp byte [ebp - 0x34be], 0
je 0x476ccb
lea edx, [esi + 0x13a]
push edx
push ebx
call fcn.00496934
add esp, 8
cmp byte [ebp - 0x34bf], 0
je 0x476e18
push ebx
call fcn.004964ac
pop ecx
xor ecx, ecx
mov cl, byte [ebx + 0x16]
push ecx
call fcn.00496678
pop ecx
mov esi, eax
cmp esi, 0xffffffff
je 0x476e18
mov word [ebp - 0x347c], 0x80
mov word [ebp - 0x347c], 0x8c
lea edx, [esi + 1]
lea eax, [ebp - 0x3468]
call fcn.00401c08
inc dword [ebp - 0x3470]
mov word [ebp - 0x347c], 0x98
push 0
push 0
push ebx
call fcn.00496c18
add esp, 0xc
push ebx
push esi
push 1
push dword [ebp - 0x3468]
call fcn.00496b78
add esp, 0x10
mov eax, dword [ebp - 0x3468]
mov byte [eax + esi], 0
call fcn.004482bc
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x3468]
mov edx, 2
call fcn.00401c80
mov word [ebp - 0x347c], 0x80
mov word [ebp - 0x347c], 0x2c
jmp 0x476e18
push ebx
call fcn.00496404
cmp byte [ebp - 0x38c0], 0
pop ecx
je 0x476e51
push 0
lea edx, [ebp - 0x38c0]
push edx
lea ecx, [ebp - 0x40c0]
push ecx
call sub.KERNEL32.DLL_CopyFileA
test eax, eax
jne 0x476e51
lea edx, [ebp - 0x38c0]
mov eax, 0x4ae120
call fcn.0042cdb8
cmp byte [ebp - 0x34c0], 0
je 0x476e67
lea eax, [ebp - 0x40c0]
xor edx, edx
call fcn.004748e8
cmp byte [ebp - 0x34c0], 0
jne 0x476e7b
lea eax, [ebp - 0x40c0]
call fcn.00448204
cmp dword [0x4c3de0], 0
jne 0x476ea4
cmp byte [ebp - 0x38c0], 0
je 0x476ea4
lea eax, [ebp - 0x38c0]
call fcn.0040ba30
mov edx, eax
mov eax, 0x4c1454
call fcn.0046364c
dec dword [ebp - 0x3470]
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x220]
mov edx, 2
call fcn.0043ca88
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0x318]
mov edx, 2
call fcn.0040f698
dec dword [ebp - 0x3470]
dec dword [ebp - 0x3470]
lea eax, [ebp - 0x110]
mov edx, 2
call fcn.0043ca88
sub dword [ebp - 0x3470], 4
lea eax, [ebp - 0x208]
mov edx, 2
call fcn.0040f698
mov word [ebp - 0x347c], 0
cmp byte [ebp - 0x3499], 0
je 0x476f27
push dword [0x4c144c]
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