Function at 0x42f941
Capabilities:
Accept command line arguments
Copy file
Get common file path

Disassembly:
mov eax, 0x471847
call fcn.00453e8c
sub esp, 0xa58
push ebx
push esi
xor ebx, ebx
push edi
push ebx
mov dword [ebp - 0x84], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 4], ebx
call fcn.0043c51f
cmp eax, 6
jb 0x42f975
call fcn.0042f620
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x85c]
push eax
mov dword [0x497208], eax
call fcn.00430f36
lea eax, [ebp - 0x6a]
mov esi, 0x475620
push ebx
push eax
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 1
mov dword [ebp - 0x1ec], 0x475628
mov dword [ebp - 0x1cc], esi
call fcn.00403bf5
mov edi, 0x104
lea eax, [ebp - 0x3c]
push edi
push eax
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 2
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 3
mov byte [eax + 4], 1
call fcn.00403dc2
mov eax, dword [eax]
push edi
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 2
call fcn.00402ebf
sub esp, 0x28
lea eax, [ebp - 0xe]
mov dword [ebp - 0x20], esp
mov ecx, esp
push ebx
push eax
push 0x493568
mov dword [ecx], 0x475628
mov dword [ecx + 0x20], esi
call fcn.00403cfd
sub esp, 0x28
lea eax, [ebp - 0x1ec]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 1
push eax
mov byte [ebp - 4], 4
call fcn.00407995
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 2
call fcn.004313b0
push 0x800
lea eax, [ebp - 0x85c]
push ebx
push 0x496a00
mov dword [0x497204], eax
call fcn.00454540
add esp, 0xc
lea eax, [ebp - 0x40]
mov dword [0x497200], ebx
mov dword [ebp - 0x40], ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
push dword [ebp + 0x10]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x30], eax
call fcn.00408afe
mov byte [ebp - 4], 5
mov dword [ebp - 0x19c], 0x4755e0
mov dword [ebp - 0x17c], 0x4755d8
push ebx
lea eax, [ebp - 0x69]
lea ecx, [ebp - 0x19c]
push eax
call fcn.0040190c
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x19c]
push eax
mov byte [ebp - 4], 6
call fcn.00426d2d
mov ecx, dword [eax]
mov byte [ebp - 4], 7
mov byte [eax + 4], 1
call fcn.0040afe6
push ebx
push ebx
push eax
push 0x48a308
lea ecx, [ebp - 0x80]
call fcn.00408b86
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x10], al
mov byte [ebp - 4], 6
call fcn.00431d03
cmp byte [ebp - 0x10], bl
je 0x42fb45
call fcn.00464dd0
push ebx
call fcn.00464f90
cmp dword [ebp - 0x190], ebx
je 0x42fb45
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0x19c]
push eax
call fcn.00431d14
lea ecx, [ebp - 0xac]
call fcn.00401093
sub esp, 0x28
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x20], esp
mov ecx, esp
push ebx
push eax
mov dword [ecx], 0x4755e0
mov dword [ecx + 0x20], 0x4755d8
call fcn.00401d8c
call fcn.00464de0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xd4], 0x4755e0
cmp eax, ebx
mov dword [ebp - 0xb4], 0x4755d8
jne 0x42fb65
mov eax, 0x493568
lea ecx, [ebp - 0xe]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xd4]
call fcn.004011a9
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 4], 8
cmp eax, ebx
mov dword [ebp - 0x1c], 0x4755fc
je 0x42fb8e
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xf]
push 1
push eax
push 0x48d60c
lea ecx, [ebp - 0xac]
call fcn.00401889
mov eax, dword [eax + 8]
mov byte [ebp - 4], 9
cmp eax, ebx
jne 0x42fbb4
mov eax, 0x4755fc
push dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0xa1
push 0x48d59c
push eax
call fcn.0040a587
add esp, 0xc
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 8
call fcn.00401093
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 6
call fcn.00401093
push 1
push 1
push ebx
push 0x48956c
lea ecx, [ebp - 0x80]
call fcn.00408b86
push ebx
push ebx
push ebx
push 0x48970c
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x14], al
call fcn.00408b86
cmp al, bl
je 0x42fd4a
cmp byte [0x493148], bl
jne 0x42fc31
cmp byte [0x497938], bl
je 0x42fcba
lea eax, [ebp + 0xb]
push 1
push eax
push 0x48d60c
lea ecx, [ebp - 0xac]
call fcn.00401889
mov eax, 0x48d570
mov byte [ebp - 4], 0xa
mov ecx, eax
mov dword [ebp - 0xd4], 0x4755e0
test ecx, ecx
mov dword [ebp - 0xb4], 0x4755d8
jne 0x42fc6f
mov eax, 0x493568
lea ecx, [ebp - 0xf]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xd4]
call fcn.004011a9
lea eax, [ebp - 0xac]
push 0xad
push eax
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 0xb
call fcn.00464d80
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xa
call fcn.00401093
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 6
call fcn.00401093
lea eax, [ebp - 0xac]
push eax
call fcn.00411461
pop ecx
push eax
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0xc
call fcn.0041132e
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xe
call fcn.00402424
lea ecx, [ebp - 0x26c]
call fcn.0041159b
test eax, eax
jne 0x42fcfd
mov esi, dword [0x497200]
jmp 0x42fd36
mov eax, dword [ebp + 0x10]
sub esp, 0x28
mov ecx, esp
mov dword [ebp + 8], esp
cmp eax, ebx
mov dword [ecx], 0x4755e0
mov dword [ecx + 0x20], 0x4755d8
jne 0x42fd1e
mov eax, 0x493568
lea edx, [ebp + 0xb]
push ebx
push edx
push eax
call fcn.004011a9
lea ecx, [ebp - 0x26c]
call fcn.00411932
mov esi, eax
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 6
call fcn.0041143e
jmp 0x430ee5
cmp byte [ebp - 0x14], bl
je 0x42fd67
push ebx
push ebx
push ebx
push 0x48d56c
lea ecx, [ebp - 0x80]
call fcn.00408b86
test al, al
je 0x42feb9
lea eax, [ebp - 0xf]
push ebx
push eax
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x174], 0x4755e0
mov dword [ebp - 0x154], 0x4755d8
call fcn.0040190c
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x174]
push eax
mov byte [ebp - 4], 0xf
call fcn.00426d2d
mov ecx, dword [eax]
mov byte [ebp - 4], 0x10
mov byte [eax + 4], 1
call fcn.0040afe6
push 1
push ebx
push eax
push 0x48a188
lea ecx, [ebp - 0x80]
call fcn.00408b86
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0xe], al
mov byte [ebp - 4], 0xf
call fcn.00431d03
cmp byte [ebp - 0xe], bl
je 0x42feaa
cmp byte [0x493148], bl
jne 0x42fdea
cmp byte [0x497938], bl
je 0x42fe73
lea eax, [ebp + 0x13]
push 1
push eax
push 0x48d60c
lea ecx, [ebp - 0xac]
call fcn.00401889
mov eax, 0x48d52c
mov byte [ebp - 4], 0x11
mov ecx, eax
mov dword [ebp - 0xd4], 0x4755e0
test ecx, ecx
mov dword [ebp - 0xb4], 0x4755d8
jne 0x42fe28
mov eax, 0x493568
lea ecx, [ebp + 0xb]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xd4]
call fcn.004011a9
lea eax, [ebp - 0xac]
push 0xbc
push eax
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 0x12
call fcn.00464d80
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x11
call fcn.00401093
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xf
call fcn.00401093
push dword [ebp - 0x14]
lea eax, [ebp - 0x174]
sub esp, 0x28
mov ecx, esp
mov dword [ebp + 0x10], esp
push 1
push eax
call fcn.0040a9f7
call fcn.004319ee
add esp, 0x2c
lea ecx, [ebp - 0x174]
mov esi, eax
mov byte [ebp - 4], 6
call fcn.00401093
jmp 0x430ee5
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 6
call fcn.00401093
cmp dword [ebp - 0x40], 1
mov eax, dword [ebp + 0x10]
push 0x2f
pop edx
jbe 0x4300aa
mov cx, word [eax]
cmp cx, 0x2d
je 0x42fed7
cmp cx, dx
jne 0x42ff4e
cmp word [eax + 2], 0x25
jne 0x42ff4e
add eax, 4
mov cx, word [eax]
inc eax
inc eax
cmp cx, dx
jne 0x42fee1
mov word [eax - 4], bx
mov ecx, dword [0x495930]
cmp ecx, ebx
jne 0x42fefe
mov ecx, 0x4755fc
add eax, 0xfffffffe
push eax
push ecx
lea eax, [ebp - 0xa64]
push 0x48d520
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0xa64]
push 1
push eax
call fcn.00435615
lea ecx, [ebp - 0x3c]
call fcn.004020b2
push dword [ebp + 8]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x13
call fcn.004020e6
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 6
call fcn.004020df
jmp 0x430cfa
cmp cx, 0x2d
je 0x42ff59
cmp cx, dx
jne 0x42ffb8
mov dx, word [eax + 2]
cmp dx, 0x6b
je 0x42ff69
cmp dx, 0x4b
jne 0x42ffb5
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x54a]
add dword [ebp + 0x10], 4
mov word [ebp - 0x54c], bx
push dword [ebp + 0x10]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0x30]
push dword [eax]
lea eax, [ebp - 0x54c]
push 0x4899ec
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x54c]
push 1
push eax
call fcn.0043580e
jmp 0x430cfa
push 0x2f
pop edx
cmp cx, 0x2d
je 0x42ffc7
cmp cx, dx
jne 0x4300aa
mov cx, word [eax + 2]
cmp cx, 0x67
je 0x42ffdb
cmp cx, 0x47
jne 0x4300aa
lea esi, [eax + 4]
mov ax, word [esi]
inc esi
inc esi
cmp ax, dx
jne 0x42ffde
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x54a]
mov word [ebp - 0x54c], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x54c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x54c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dx, word [ebp + eax*2 - 0x550]
lea ecx, [ebp + eax*2 - 0x550]
cmp dx, 0x2d
mov dword [ebp + 8], ebx
je 0x43003c
cmp dx, 0x2f
jne 0x43005a
mov ax, word [ebp + eax*2 - 0x54e]
cmp ax, 0x73
je 0x430050
cmp ax, 0x53
jne 0x43005a
mov dword [ebp + 8], 1
mov word [ecx], bx
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0xa62]
mov word [ebp - 0xa64], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp + 0x10]
mov word [esi - 4], bx
add eax, 6
push eax
lea eax, [ebp - 0xa64]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push dword [ebp + 8]
lea eax, [ebp - 0x54c]
push eax
lea eax, [ebp - 0xa64]
push eax
call fcn.00435f92
add esp, 0xc
mov esi, eax
jmp 0x430ee5
cmp dword [ebp - 0x40], 1
mov dword [ebp - 0x1c], ebx
jbe 0x4300dd
mov cx, word [eax]
cmp cx, 0x2d
je 0x4300c1
cmp cx, dx
jne 0x4300dd
mov ax, word [eax + 2]
cmp ax, 0x71
je 0x4300d1
cmp ax, 0x51
jne 0x4300dd
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 4]
add eax, 4
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xf]
push ebx
push eax
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0xfc], 0x475628
mov dword [ebp - 0xdc], esi
call fcn.00403bf5
push 1
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x14
call fcn.004320d5
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x240]
push eax
mov byte [ebp - 4], 0x15
call fcn.00432236
mov eax, dword [eax]
push ebx
add eax, 0x10
push ebx
push eax
push 0x48a124
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x16
call fcn.00408b86
cmp al, bl
mov byte [ebp - 4], 0x15
je 0x430168
lea ecx, [ebp - 0x240]
call fcn.0043215a
mov eax, dword [ebp - 0x230]
cmp eax, ebx
jne 0x43015c
mov eax, 0x493568
push eax
lea ecx, [ebp - 0xfc]
call fcn.00403d99
cmp dword [ebp - 0xf0], ebx
jne 0x430234
lea eax, [ebp - 0x3c]
push edi
push eax
lea ecx, [ebp - 0xfc]
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 0x17
mov byte [eax + 4], 1
call fcn.00403dc2
push dword [eax]
push edi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x15
call fcn.00402ebf
sub esp, 0x28
lea eax, [ebp - 0xe]
mov dword [ebp - 0x20], esp
mov ecx, esp
push ebx
push eax
push 0x493568
mov dword [ecx], 0x475628
mov dword [ecx + 0x20], esi
call fcn.00403cfd
sub esp, 0x28
lea eax, [ebp - 0x2b]
mov ecx, esp
mov dword [ebp - 0x18], esp
push 1
push eax
push 0x493568
mov byte [ebp - 4], 0x18
call fcn.00402d75
lea eax, [ebp - 0xac]
push ebx
push eax
mov byte [ebp - 4], 0x15
call fcn.0043ac34
add esp, 0x58
push eax
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 0x19
call fcn.0040249e
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x15
call fcn.00402424
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0xfc]
push eax
call fcn.00404ca6
lea ecx, [ebp - 0xac]
call fcn.00402424
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0xfc]
push eax
call fcn.0040ae57
lea ecx, [ebp - 0xac]
call fcn.00402424
mov eax, dword [ebp - 0xf4]
cmp eax, ebx
jne 0x430260
mov eax, 0x475650
push eax
push 0x496a00
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
sub esp, 0x28
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x20], esp
mov ecx, esp
push ebx
push eax
mov dword [ecx], 0x475628
mov dword [ecx + 0x20], esi
call fcn.00403c6a
mov ecx, dword [0x497204]
call fcn.0043183d
cmp dword [ebp - 0x1c], ebx
je 0x4302ab
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x430daa
cmp byte [ebp - 0x14], bl
jne 0x4302d3
mov eax, dword [ebp - 0x30]
push dword [eax]
call fcn.004351cf
test eax, eax
je 0x430daa
push dword [ebp + 0x10]
call fcn.0043187f
test al, al
pop ecx
je 0x430daa
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2d4], 0x475628
mov dword [ebp - 0x2b4], esi
mov eax, dword [eax]
cmp eax, ebx
jne 0x4302f1
mov eax, 0x493568
lea ecx, [ebp - 0x2b]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00403cfd
lea eax, [ebp - 0xd4]
push ebx
push eax
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0x1a
call fcn.00402dda
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0x1c
call fcn.00402424
lea eax, [ebp - 0xac]
push ebx
push eax
lea ecx, [ebp - 0xd4]
call fcn.00402dda
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x2fc], 0x475628
mov dword [ebp - 0x2dc], esi
mov eax, dword [eax]
cmp eax, ebx
jne 0x43035d
mov eax, 0x493568
lea ecx, [ebp - 0xe]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00403cfd
push ebx
lea eax, [ebp - 0x214]
push ebx
push eax
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x1e
call fcn.00403fd1
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x20
call fcn.00402424
cmp dword [ebp - 0x208], ebx
jne 0x43042b
lea eax, [ebp - 0xd]
push ebx
push eax
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0x475628
mov dword [ebp - 0x48], esi
call fcn.00403bf5
lea eax, [ebp - 0x28]
push edi
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x21
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 0x22
mov byte [eax + 4], 1
call fcn.00403dc2
mov eax, dword [eax]
push edi
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x21
call fcn.00402ebf
push ebx
lea eax, [ebp - 0x14c]
push ebx
push eax
lea ecx, [ebp - 0x68]
call fcn.00403fd1
push eax
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x23
call fcn.0040249e
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x21
call fcn.00402424
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x20
call fcn.00402424
lea ecx, [ebp - 0x3c]
call fcn.004020b2
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x214]
push eax
lea eax, [ebp - 0x1c4]
push eax
mov byte [ebp - 4], 0x24
call fcn.0040fa71
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x124]
push eax
mov byte [ebp - 4], 0x25
call fcn.0040fa71
mov ecx, dword [ebp - 0x11c]
mov byte [ebp - 4], 0x26
cmp ecx, ebx
jne 0x430480
mov ecx, 0x475650
mov eax, dword [ebp - 0x1bc]
cmp eax, ebx
jne 0x43048f
mov eax, 0x475650
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x28]
push edi
push eax
lea ecx, [ebp - 0x124]
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 0x27
mov byte [eax + 4], 1
call fcn.00403dc2
push dword [eax]
lea ecx, [ebp - 0x3c]
call fcn.0040251f
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x26
call fcn.00402ebf
mov eax, dword [0x48d3dc]
mov dword [ebp - 0x68], 0x475628
cmp eax, ebx
mov dword [ebp - 0x48], esi
jne 0x4304e5
mov eax, 0x493568
lea ecx, [ebp - 0xd]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00403cfd
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0x214]
push eax
lea eax, [ebp - 0x14c]
push eax
mov byte [ebp - 4], 0x28
call fcn.0040fa71
push eax
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0x29
call fcn.0040249e
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x28
call fcn.00402424
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x26
call fcn.00402424
mov eax, dword [0x48d3dc]
mov dword [ebp - 0x68], 0x475628
cmp eax, ebx
mov dword [ebp - 0x48], esi
jne 0x430550
mov eax, 0x493568
lea ecx, [ebp - 0xd]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00403cfd
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x14c]
push eax
mov byte [ebp - 4], 0x2a
call fcn.0040fa71
push eax
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x2b
call fcn.0040249e
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x2a
call fcn.00402424
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x26
call fcn.00402424
mov ecx, dword [ebp - 0x11c]
cmp ecx, ebx
jne 0x4305b2
mov ecx, 0x475650
mov eax, dword [ebp - 0x1bc]
cmp eax, ebx
jne 0x4305c1
mov eax, 0x475650
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x28]
push edi
push eax
lea ecx, [ebp - 0x124]
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 0x2c
mov byte [eax + 4], 1
call fcn.00403dc2
push dword [eax]
lea ecx, [ebp - 0x3c]
call fcn.0040251f
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x26
call fcn.00402ebf
lea eax, [ebp - 0xd]
push 1
push eax
push 0x48c4a0
lea ecx, [ebp - 0x68]
call fcn.00403f1b
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0x214]
push eax
lea eax, [ebp - 0x14c]
push eax
mov byte [ebp - 4], 0x2d
call fcn.0040fa71
push eax
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0x2e
call fcn.0040249e
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x2d
call fcn.00402424
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x26
call fcn.00402424
mov eax, 0x489e3c
mov dword [ebp - 0x68], 0x475628
mov ecx, eax
mov dword [ebp - 0x48], esi
test ecx, ecx
jne 0x430671
mov eax, 0x493568
lea ecx, [ebp - 0xd]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00403cfd
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x14c]
push eax
mov byte [ebp - 4], 0x2f
call fcn.0040fa71
push eax
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x30
call fcn.0040249e
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x2f
call fcn.00402424
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x26
call fcn.00402424
mov ecx, dword [ebp - 0x11c]
cmp ecx, ebx
jne 0x4306d3
mov ecx, 0x475650
mov eax, dword [ebp - 0x1bc]
cmp eax, ebx
jne 0x4306e2
mov eax, 0x475650
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x28]
push edi
push eax
lea ecx, [ebp - 0x124]
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 0x31
mov byte [eax + 4], 1
call fcn.00403dc2
push dword [eax]
lea ecx, [ebp - 0x3c]
call fcn.0040251f
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x26
call fcn.00402ebf
lea eax, [ebp - 0xd]
push ebx
push eax
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x174], 0x475628
mov dword [ebp - 0x154], esi
call fcn.00403bf5
lea eax, [ebp - 0x28]
push edi
push eax
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x32
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 0x33
mov byte [eax + 4], 1
call fcn.00403dc2
mov eax, dword [eax]
push edi
push eax
push 0x489440
push 0x489360
call fcn.00435ff7
add esp, 0x10
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x32
call fcn.00402ebf
cmp dword [ebp - 0x168], ebx
jne 0x4307bf
lea eax, [ebp - 0x2a]
push 1
push eax
push 0x48d514
lea ecx, [ebp - 0x68]
call fcn.00403f1b
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0x174]
push eax
mov byte [ebp - 4], 0x34
call fcn.0040249e
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x32
call fcn.00402424
lea eax, [ebp - 0x174]
lea ecx, [ebp - 0x214]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0040fa71
push eax
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0x35
call fcn.0040249e
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x32
call fcn.00402424
lea eax, [ebp - 0x174]
lea ecx, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0040fa71
push eax
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x36
call fcn.0040249e
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x32
call fcn.00402424
mov ecx, dword [ebp - 0x11c]
cmp ecx, ebx
jne 0x430832
mov ecx, 0x475650
mov eax, dword [ebp - 0x1bc]
cmp eax, ebx
jne 0x430841
mov eax, 0x475650
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x430883
lea eax, [ebp - 0x28]
push edi
push eax
lea ecx, [ebp - 0x124]
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 0x37
mov byte [eax + 4], 1
call fcn.00403dc2
push dword [eax]
lea ecx, [ebp - 0x3c]
call fcn.0040251f
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x32
call fcn.00402ebf
lea eax, [ebp - 0x31c]
push 0x10
push eax
push 0x48ca94
push 0x489814
call fcn.00435ff7
push 0xa
lea eax, [ebp - 0x31c]
push ebx
push eax
call fcn.00454d33
add esp, 0x1c
cmp eax, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], ebx
jbe 0x430a77
push dword [ebp - 0x14]
lea eax, [ebp - 0x144]
push 0x48d508
push eax
call fcn.00454e3a
lea eax, [ebp - 0x60]
push 0x10
push eax
lea eax, [ebp - 0x144]
push eax
push 0x489814
call fcn.00435ff7
push 0x10
lea eax, [ebp - 0x60]
push ebx
push eax
call fcn.00454d33
add esp, 0x28
cmp eax, ebx
mov dword [ebp - 0x18], eax
je 0x430a68
mov eax, dword [ebp - 0x20c]
cmp eax, ebx
jne 0x43090f
mov eax, 0x475650
push dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c4]
push 0x48d4ec
push eax
call fcn.0040fafc
mov eax, dword [ebp - 0xf4]
add esp, 0x10
cmp eax, ebx
jne 0x430936
mov eax, 0x475650
push dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x124]
push 0x48d4ec
push eax
call fcn.0040fafc
mov ecx, dword [ebp - 0x11c]
add esp, 0x10
cmp ecx, ebx
jne 0x43095d
mov ecx, 0x475650
mov eax, dword [ebp - 0x1bc]
cmp eax, ebx
jne 0x43096c
mov eax, 0x475650
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x4309b4
lea eax, [ebp - 0x2a0]
push edi
push eax
lea ecx, [ebp - 0x124]
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 0x38
mov byte [eax + 4], 1
call fcn.00403dc2
push dword [eax]
lea ecx, [ebp - 0x3c]
call fcn.0040251f
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 0x32
call fcn.00402ebf
mov eax, dword [ebp - 0x20c]
cmp eax, ebx
jne 0x4309c3
mov eax, 0x475650
push dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c4]
push 0x48d4d4
push eax
call fcn.0040fafc
mov eax, dword [ebp - 0xf4]
add esp, 0x10
cmp eax, ebx
jne 0x4309ea
mov eax, 0x475650
push dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x124]
push 0x48d4d4
push eax
call fcn.0040fafc
mov ecx, dword [ebp - 0x11c]
add esp, 0x10
cmp ecx, ebx
jne 0x430a11
mov ecx, 0x475650
mov eax, dword [ebp - 0x1bc]
cmp eax, ebx
jne 0x430a20
mov eax, 0x475650
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x430a68
lea eax, [ebp - 0x2ac]
push edi
push eax
lea ecx, [ebp - 0x124]
call fcn.00402dad
mov ecx, dword [eax]
mov byte [ebp - 4], 0x39
mov byte [eax + 4], 1
call fcn.00403dc2
push dword [eax]
lea ecx, [ebp - 0x3c]
call fcn.0040251f
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0x32
call fcn.00402ebf
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x20]
jb 0x4308bb
lea eax, [ebp - 0x2a]
mov edi, 0x475628
push ebx
push eax
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x294], edi
mov dword [ebp - 0x274], esi
call fcn.00403bf5
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 0x3a
cmp eax, ebx
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x12c], esi
jne 0x430ab4
mov eax, 0x493568
lea ecx, [ebp + 0x13]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x14c]
call fcn.00403cfd
mov eax, dword [ebp - 0x144]
mov byte [ebp - 4], 0x3b
cmp eax, ebx
mov dword [ebp - 0x14], 0x475650
je 0x430add
mov dword [ebp - 0x14], eax
mov eax, 0x496a00
mov dword [ebp - 0x68], edi
mov ecx, eax
mov dword [ebp - 0x48], esi
test ecx, ecx
jne 0x430af3
mov eax, 0x493568
lea ecx, [ebp - 0x29]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00403cfd
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 0x3c
cmp eax, ebx
jne 0x430b16
mov edi, 0x475650
mov dword [ebp - 0x18], edi
jmp 0x430b1e
mov dword [ebp - 0x18], eax
mov edi, 0x475650
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x214]
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.0040fa71
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x3d
cmp eax, ebx
mov esi, edi
je 0x430b46
mov esi, eax
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.0040fa71
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x3e
cmp eax, ebx
jne 0x430b6c
mov eax, edi
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push esi
push eax
lea eax, [ebp - 0x294]
push 0x48d490
push eax
call fcn.0040fafc
add esp, 0x18
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x3d
call fcn.00402424
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x3c
call fcn.00402424
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x3b
call fcn.00402424
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x3a
call fcn.00402424
cmp byte [0x493148], bl
jne 0x430bd1
cmp byte [0x497938], bl
je 0x430c4b
lea eax, [ebp + 0x13]
push 1
push eax
push 0x48d60c
lea ecx, [ebp - 0x14c]
call fcn.00401889
mov eax, 0x48d458
mov byte [ebp - 4], 0x3f
mov ecx, eax
mov dword [ebp - 0x68], 0x4755e0
test ecx, ecx
mov dword [ebp - 0x48], 0x4755d8
jne 0x430c09
mov eax, 0x493568
lea ecx, [ebp - 0x29]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.004011a9
lea eax, [ebp - 0x14c]
push 0x193
push eax
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0x40
call fcn.00464d80
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x3f
call fcn.00401093
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x3a
call fcn.00401093
mov eax, dword [ebp - 0x28c]
cmp eax, ebx
jne 0x430c57
mov eax, edi
push 1
push eax
call fcn.0043580e
test eax, eax
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x294]
je 0x430d3f
call fcn.00402424
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x26
call fcn.00402424
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x25
call fcn.00402424
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0x24
call fcn.00402424
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x20
call fcn.004020df
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x1d
call fcn.00402424
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x1c
call fcn.00402424
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x15
call fcn.00402424
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x14
call fcn.0040d3d1
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 6
call fcn.00402424
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 5
call fcn.00401093
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 2
call fcn.00408b40
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 1
call fcn.00402424
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], bl
call fcn.0043123a
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
jmp 0x430f25
call fcn.00402424
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x26
call fcn.00402424
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x25
call fcn.00402424
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0x24
call fcn.00402424
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x20
call fcn.004020df
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x1d
call fcn.00402424
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x1c
call fcn.00402424
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x15
call fcn.00402424
call fcn.00434ebb
lea ecx, [ebp - 0x224]
call fcn.00414e78
cmp byte [ebp - 0x10], bl
mov byte [ebp - 4], 0x41
je 0x430dcb
lea eax, [ebp - 0x19c]
jmp 0x430e08
lea eax, [ebp + 0x13]
push ebx
push eax
push 0x493568
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xac], 0x4755e0
mov dword [ebp - 0x8c], 0x4755d8
call fcn.004011a9
mov dword [ebp - 0x84], 1
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x85c]
push ecx
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x20], esp
push 1
push eax
call fcn.0040a9f7
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x224]
push dword [ebp - 0x30]
push dword [ebp - 0x40]
push dword [ebp + 8]
call fcn.00414ebd
test byte [ebp - 0x84], 1
mov dword [ebp - 4], 0x41
je 0x430e51
lea ecx, [ebp - 0xac]
call fcn.00401093
lea ecx, [ebp - 0x224]
call fcn.004150ee
lea eax, [ebp + 0x13]
push 1
push eax
push 0x48d60c
lea ecx, [ebp - 0x268]
call fcn.00401889
mov eax, dword [eax + 8]
mov byte [ebp - 4], 0x43
cmp eax, ebx
jne 0x430e82
mov eax, 0x4755fc
push dword [0x497200]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x20], 0x1b5
push 0x48d430
push eax
call fcn.0040a587
add esp, 0xc
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x41
call fcn.00401093
mov esi, dword [0x497200]
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0x15
call fcn.00414ea8
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x14
call fcn.0040d3d1
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 6
call fcn.00402424
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 5
call fcn.00401093
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 2
call fcn.00408b40
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 1
call fcn.00402424
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], bl
call fcn.0043123a
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10