Function at 0x4798a8
Capabilities:
Check if file exists
Get file attributes
Move file
Parse pe header

Disassembly:
push 0x200
mov eax, 0x51f8c7
call fcn.004d8af2
mov byte [ebp - 0x42], dl
mov eax, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0xcc], eax
mov al, byte [ebp + 0x1c]
mov byte [ebp - 0x2d], al
mov byte [ebp - 0xcc], al
mov al, byte [ebp + 0x20]
mov byte [ebp - 0x104], al
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x108], eax
mov al, byte [ebp + 0x34]
mov byte [ebp - 0x41], al
mov byte [ebp - 0x40], al
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0xc8], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xe8], eax
and dword [ebp - 4], eax
xor ebx, ebx
lea ecx, [ebp - 0x26]
inc ebx
push ebx
call fcn.0044f66e
mov byte [ebp - 4], 6
call fcn.0044f24f
push ebx
lea ecx, [eax + 0x28]
call fcn.004ab7d2
call fcn.0044f24f
fld1
mov eax, dword [eax + 0x28]
fstp qword [eax]
call fcn.0044f24f
mov byte [eax + 0x1a9], 0
call fcn.0044f24f
mov ecx, eax
mov eax, dword [ecx + 0x1b0]
sub eax, dword [ecx + 0x1ac]
mov ecx, 0xa8
cdq
idiv ecx
mov ecx, dword [ebp + 0x24]
cmp eax, dword [ecx + 4]
je 0x4799af
push 0x23ff
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x148]
call fcn.00406620
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x148]
push eax
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.0040121b
mov ecx, dword [ebp - 0x140]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x26]
call fcn.0044f694
jmp 0x47b302
mov eax, dword [ecx]
mov esi, dword [eax]
cmp esi, eax
je 0x479a9d
xor ebx, ebx
mov edi, dword [esi + 8]
call fcn.0044f24f
mov eax, dword [eax + 0x1ac]
cmp byte [eax + ebx + 0x55], 0
je 0x479a85
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x4799f2
push eax
push dword [edi]
call fcn.004e370b
pop ecx
pop ecx
test eax, eax
jne 0x479a85
cmp byte [ebp - 0x2d], 0
je 0x479a64
push 1
lea ecx, [ebp - 0x2e]
call fcn.0044f66e
mov byte [ebp - 4], 8
call fcn.0044f24f
mov edi, 0x1ac
lea ecx, [ebp - 0x2e]
mov eax, dword [eax + edi]
mov byte [ebp - 4], 6
mov byte [eax + ebx + 0x54], 1
call fcn.0044f694
call fcn.0044f24f
push ecx
push ecx
xor edx, edx
mov dword [ebp - 0x90], esp
mov edi, dword [eax + edi]
mov eax, esp
mov ecx, esp
add edi, ebx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
push ecx
mov ecx, esp
mov byte [ebp - 4], 9
push 0x53d410
call fcn.00406fea
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.0044ef0e
jmp 0x479a85
call fcn.0044f24f
push ecx
mov ecx, esp
push str.Waiting_to_download
mov edi, dword [eax + 0x1ac]
add edi, ebx
call fcn.00406fea
mov ecx, edi
call fcn.0044eeac
mov eax, dword [ebp + 0x24]
add ebx, 0xa8
mov ecx, dword [esi]
mov esi, ecx
cmp ecx, dword [eax]
jne 0x4799bd
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x26]
mov byte [ebp - 4], 5
call fcn.0044f694
and dword [ebp - 0x74], 0
and dword [ebp - 0x70], 0
push 0x24
call fcn.004d8429
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov byte [eax + 0xc], bl
mov byte [eax + 0xd], bl
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp + 0x24]
push dword [eax + 4]
call fcn.004a963a
cmp byte [ebp - 0x2d], 0
mov byte [ebp - 4], 0xb
jne 0x47a599
mov eax, dword [ebp + 0x24]
and dword [ebp - 0x88], 0
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [ebp - 0x6c], edi
cmp edi, eax
je 0x47a599
mov byte [ebp - 0x2e], bl
xor ebx, ebx
mov dword [ebp - 0x9c], ebx
mov eax, dword [0x57d3ec]
mov esi, dword [edi + 8]
add eax, 0x54
push eax
mov dword [ebp - 0x84], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0xc
call fcn.0044f24f
lea ecx, [ebp - 0x2e]
mov eax, dword [eax + 0x1ac]
mov bl, byte [eax + ebx + 0x55]
mov byte [ebp - 4], 0xb
call fcn.0044f694
test bl, bl
je 0x47a563
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x479b6b
push eax
push dword [esi]
call fcn.004e370b
pop ecx
pop ecx
test eax, eax
jne 0x47a563
xor eax, eax
mov byte [ebp - 0x26], 0
inc eax
cmp dword [esi + 0x48], eax
jbe 0x479c8c
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 0x26], al
call fcn.0047b358
mov byte [ebp - 4], 0xd
mov ecx, dword [esi + 0x44]
mov esi, dword [ecx]
cmp esi, ecx
je 0x479c77
mov ebx, dword [esi + 8]
cmp dword [ebx + 0x8c], 0
jne 0x479c73
add ebx, 0x88
cmp esi, dword [ecx]
jne 0x479c15
lea eax, [ebp - 0x1d8]
cmp eax, ebx
je 0x479bce
mov eax, dword [ebx]
lea ecx, [ebp - 0x1d8]
push eax
push dword [eax]
call fcn.004bf5e7
lea eax, [ebx + 8]
lea ecx, [ebp - 0x1d0]
cmp ecx, eax
je 0x479be5
mov eax, dword [eax]
push eax
push dword [eax]
call fcn.004bf5e7
lea eax, [ebx + 0x10]
lea ecx, [ebp - 0x1c8]
cmp ecx, eax
je 0x479bfc
mov eax, dword [eax]
push eax
push dword [eax]
call fcn.004bf5e7
lea eax, [ebx + 0x18]
lea ecx, [ebp - 0x1c0]
cmp ecx, eax
je 0x479c5c
mov eax, dword [eax]
push eax
push dword [eax]
call fcn.004bf5e7
jmp 0x479c5c
lea edx, [ebp - 0x1d8]
mov ecx, ebx
call fcn.004b175c
test al, al
je 0x479c73
lea ecx, [ebx + 8]
lea edx, [ebp - 0x1d0]
call fcn.004b175c
test al, al
je 0x479c73
lea ecx, [ebx + 0x10]
lea edx, [ebp - 0x1c8]
call fcn.004b175c
test al, al
je 0x479c73
lea ecx, [ebx + 0x18]
lea edx, [ebp - 0x1c0]
call fcn.004b175c
test al, al
je 0x479c73
mov ecx, dword [ebp - 0x84]
mov eax, dword [esi]
mov esi, eax
mov ecx, dword [ecx + 0x44]
cmp eax, ecx
jne 0x479b9a
jmp 0x479c77
mov byte [ebp - 0x26], 0
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 0xb
call fcn.0047b39a
mov esi, dword [ebp - 0x84]
mov ecx, dword [esi + 0x44]
and dword [ebp - 0xe4], 0
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
cmp eax, ecx
je 0x47a48b
mov edi, dword [ebp - 0x84]
mov ebx, dword [eax + 8]
mov ecx, ebx
mov dword [ebp - 0xd4], ebx
call fcn.00470ef3
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx]
mov esi, dword [eax]
mov dword [ebp - 0xbc], esi
cmp esi, eax
je 0x47a469
lea ecx, [ebp - 0x7c]
call fcn.0040687a
lea ecx, [ebp - 0x78]
call fcn.0040687a
push ecx
mov byte [ebp - 4], 0xe
mov edi, esp
mov ecx, dword [esi + 0x10]
sub ecx, 0x10
mov dword [ebp - 0x68], edi
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x7c]
mov dword [edi], eax
lea eax, [ebp - 0x118]
push eax
call fcn.0043b27a
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x118], 0
jl 0x47a9e1
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x34]
call fcn.0040687a
and dword [ebp - 0xa4], 0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa8], 0x80004005
call fcn.0040687a
push ebx
push ecx
push ecx
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x12
mov ecx, esp
push eax
call fcn.00431b2e
cmp byte [ebp - 0x26], 0
je 0x479d99
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.004741ab
add esp, 0x10
push eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x13
call fcn.004032ed
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x1e4]
jmp 0x479dc4
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x1f8]
call fcn.00473e1d
add esp, 0xc
push eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x14
call fcn.004032ed
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x1f0]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x13c]
call fcn.0040121b
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x13c], 0
jl 0x47a981
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x134]
lea ecx, [ecx - 0x10]
call fcn.00407189
cmp dword [ebp - 0xa8], 0
je 0x479e34
mov ecx, dword [ebp - 0xa0]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0xb
call fcn.00407c33
jmp 0x47a447
mov ecx, dword [ebx + 0x110]
lea eax, [ebp - 0x34]
push eax
add ecx, 4
call fcn.00405d6e
mov edi, dword [ebp - 0xd4]
xor bl, bl
and dword [ebp - 0xec], 0
mov dword [ebp - 0x68], ebx
mov eax, dword [edi + 0x100]
mov esi, dword [eax]
cmp esi, eax
je 0x47a33e
mov ebx, dword [esi + 8]
lea ecx, [ebp - 0x184]
mov dword [ebp - 0xb8], ebx
call fcn.004282f6
push ebx
mov edx, eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x3c]
call fcn.0040a037
pop ecx
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x184]
add ecx, 0xfffffff0
call fcn.00407189
mov eax, dword [0x57d3ec]
cmp byte [eax + 1], 0
jne 0x47a95b
mov ecx, dword [edi + 0x110]
add ecx, 4
push ecx
mov edi, esp
mov dword [ebp - 0xc4], esp
mov dword [ebp - 0x64], edi
mov ecx, dword [ecx]
sub ecx, 0x10
call fcn.004070e7
add eax, 0x10
mov dword [edi], eax
push dword [ebp - 0x40]
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x64], esp
call fcn.0040687a
push 0
push dword [ebp - 0xec]
mov byte [ebp - 4], 0x1b
push dword [ebp - 0x88]
push dword [ebp - 0x108]
push ecx
mov edi, esp
mov dword [ebp - 0x50], esp
mov dword [ebp - 0x2c], edi
mov ecx, dword [ebp - 0x3c]
add ecx, 0xfffffff0
call fcn.004070e7
add eax, 0x10
mov dword [edi], eax
push ecx
mov byte [ebp - 4], 0x1c
mov edi, esp
mov dword [ebp - 0x2c], edi
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004070e7
push ebx
push dword [ebp - 0xd4]
add eax, 0x10
push ecx
mov ecx, esp
mov dword [edi], eax
call fcn.0040687a
push ecx
mov ecx, esp
call fcn.0040687a
push ecx
mov ecx, esp
call fcn.0040687a
mov edx, dword [ebp - 0x84]
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x19
call fcn.00458a73
add esp, 0x3c
xor edx, edx
mov byte [ebp - 4], 0x1d
inc edx
cmp dword [ebp - 0xe0], edx
je 0x47a8eb
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebp - 0x68]
movzx ecx, cl
cmp byte [eax], 0
cmovne ecx, edx
push ecx
mov dword [ebp - 0x68], ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push str.Failed
call fcn.00406fea
sub esp, 0xc
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0xe0]
mov ecx, esp
push eax
call fcn.0040121b
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x1d
call fcn.0044f0b0
add esp, 0x10
mov byte [ebp - 4], 0x20
cmp dword [ebp - 0xe0], 0x80004004
jne 0x479fe2
mov ebx, str.Canceled
push ebx
call fcn.004ddaa2
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x60]
call fcn.00406efb
xor eax, eax
inc eax
mov byte [ebp - 0x25], al
mov eax, dword [0x57d3ec]
add eax, 0x54
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x21
call fcn.0044f24f
push ecx
mov edi, esp
mov ebx, dword [eax + 0x1ac]
add ebx, dword [ebp - 0x9c]
mov dword [ebp - 0x2c], edi
mov ecx, dword [ebp - 0x60]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
mov ecx, ebx
mov dword [edi], eax
call fcn.0044eeac
lea ecx, [ebp - 0x25]
mov byte [ebp - 4], 0x20
call fcn.0044f694
cmp dword [ebp - 0xe0], 0
jl 0x47a816
mov eax, dword [0x57d3ec]
xor ebx, ebx
add eax, 0x54
inc ebx
push eax
mov byte [ebp - 0x25], bl
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x24
call fcn.0044f24f
lea ecx, [ebp - 0x25]
mov eax, dword [eax + 0x1ac]
add eax, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x20
mov byte [eax + 0x54], bl
call fcn.0044f694
mov ebx, dword [ebp - 0xb8]
cmp dword [ebx + 0x38], 0
je 0x47a7f6
mov eax, dword [ebx + 0x4c]
mov ecx, dword [eax + 0x48]
add ecx, 0xfffffff0
cmp dword [ecx + 4], 0
je 0x47a7bf
call fcn.004070e7
add eax, 0x10
mov dword [ebp - 0x2c], eax
add eax, 0xfffffff0
mov byte [ebp - 4], 0x27
mov ecx, eax
mov dword [ebp - 0xc4], eax
call fcn.004070e7
add eax, 0x10
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0x28
cmp byte [ebx + 0x44], 0
je 0x47a12e
push dword [ebx]
mov eax, dword [ebp - 0x84]
push dword [ebx + 4]
push dword [eax]
lea eax, [ebp - 0xb8]
push str._ws_ws_ws
push eax
call fcn.00409fd2
mov eax, dword [ebp - 0xe4]
add esp, 0x14
test eax, eax
je 0x47a12e
push 0
push eax
lea ecx, [ebp - 0x180]
call fcn.0042989d
pop ecx
pop ecx
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xb8]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004d5d16
mov ecx, dword [ebp - 0x180]
lea ecx, [ecx - 0x10]
call fcn.00407189
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x17c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.0040687a
push ecx
mov byte [ebp - 4], 0x2a
mov edi, esp
mov dword [ebp - 0x64], edi
mov ebx, dword [ebp - 0x17c]
add ebx, 0xfffffff0
mov dword [ebp - 0x50], esp
mov ecx, ebx
call fcn.004070e7
add eax, 0x10
mov dword [edi], eax
push 0
push 0
push ecx
mov byte [ebp - 4], 0x2b
mov edi, esp
mov dword [ebp - 0x64], edi
mov eax, dword [ebp - 0xb8]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x64], eax
call fcn.004070e7
add eax, 0x10
lea edx, [ebp - 0x24]
mov dword [edi], eax
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x2a
call fcn.0043be72
add esp, 0x10
mov byte [ebp - 4], 0x2c
cmp dword [ebp - 0x130], 0
jl 0x47a75c
mov ecx, dword [ebp - 0x128]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x4c]
call fcn.0040687a
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x2e
push eax
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x24]
call fcn.0042739c
mov byte [ebp - 4], 0x2f
cmp dword [ebp - 0x124], 0
jl 0x47a703
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x11c]
lea ecx, [ecx - 0x10]
call fcn.00407189
push 0x53d64c
lea edx, [ebp + 8]
lea ecx, [ebp - 0x178]
call fcn.00409442
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x31
push ecx
mov edx, eax
lea ecx, [ebp - 0xd0]
call fcn.0040a037
pop ecx
pop ecx
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x178]
lea ecx, [ecx - 0x10]
call fcn.00407189
push dword [ebp - 0xd0]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x47a2b1
mov edi, dword [ebp - 0xd0]
lea edx, [ebp + 8]
push 0x53d64c
lea ecx, [ebp - 0x170]
call fcn.00409442
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x34
push ecx
mov edx, eax
lea ecx, [ebp - 0x174]
call fcn.0040a037
pop ecx
pop ecx
push edi
push dword [eax]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov ecx, dword [ebp - 0x174]
mov edi, eax
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x170]
lea ecx, [ecx - 0x10]
call fcn.00407189
test edi, edi
je 0x47a635
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x200]
push eax
lea ecx, [ebp - 0x74]
call fcn.004bbe4e
mov ecx, dword [ebp - 0xd0]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, ebx
call fcn.00407189
mov ecx, dword [ebp - 0x64]
call fcn.00407189
mov ecx, dword [ebp - 0xc4]
call fcn.00407189
mov ecx, dword [ebp - 0x60]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0xd8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x3c]
add ecx, 0xfffffff0
call fcn.00407189
mov edi, dword [ebp - 0xd4]
mov eax, dword [esi]
mov esi, eax
inc dword [ebp - 0xec]
cmp eax, dword [edi + 0x100]
jne 0x479e68
mov ebx, dword [ebp - 0x68]
cmp byte [ebp - 0x41], 0
je 0x47a34c
test bl, bl
jne 0x47a90e
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x68], eax
call fcn.004070e7
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
lea eax, [ebp - 0x48]
push eax
call fcn.00438a91
mov byte [ebp - 4], 0x36
test bl, bl
je 0x47a390
mov ebx, 0x544ad0
push ebx
call fcn.004ddaa2
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x48]
call fcn.004d5d16
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x88]
lea ebx, [eax + ecx*8]
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.00409a0d
mov esi, eax
lea edi, [ebp - 0x148]
lea eax, [ebp - 0x48]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebp - 0x140]
call fcn.00409a5e
test al, al
jne 0x47a414
cmp dword [ebx + 4], 0xccccccc
je 0x47b34d
lea eax, [ebp - 0x48]
push eax
push dword [ebx]
lea ecx, [ebp - 0x1e0]
push ebx
call fcn.004c1a6b
lea ecx, [ebp - 0x1e0]
mov esi, dword [eax + 4]
and dword [eax + 4], 0
call fcn.004c0cd7
push esi
push dword [ebp - 0x144]
mov ecx, ebx
push dword [ebp - 0x148]
call fcn.00409917
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0xa0]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x68]
call fcn.00407189
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0xb
call fcn.00407c33
mov ebx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xbc]
call fcn.004094c2
mov eax, dword [ebp + 0x30]
mov esi, dword [ebp - 0xbc]
cmp esi, dword [eax]
jne 0x479cd1
mov edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0xc0]
inc dword [ebp - 0xe4]
mov ecx, dword [eax]
mov eax, ecx
mov dword [ebp - 0xc0], eax
cmp ecx, dword [edi + 0x44]
jne 0x479cac
mov edi, dword [ebp - 0x6c]
xor eax, eax
inc eax
mov byte [ebp - 0x25], al
mov eax, dword [0x57d3ec]
add eax, 0x54
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [ebp + 0x3c], 0
je 0x47a4f1
mov byte [ebp - 4], 0x37
call fcn.0044f24f
mov ecx, dword [ebp - 0x88]
push ecx
mov esi, esp
mov eax, dword [eax + 0x1ac]
add eax, dword [ebp - 0x9c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xb4]
push ecx
lea ebx, [eax + ecx*8]
mov ecx, esp
push 0x54a8a0
call fcn.00406fea
mov edx, ebx
mov ecx, esi
call fcn.004b3d80
pop ecx
mov ecx, dword [ebp - 0x6c]
call fcn.0044eeac
jmp 0x47a557
mov byte [ebp - 4], 0x38
call fcn.0044f24f
mov ecx, dword [ebp - 0x88]
xor edx, edx
push ecx
push ecx
mov eax, dword [eax + 0x1ac]
add eax, dword [ebp - 0x9c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x2c], esp
lea ebx, [eax + ecx*8]
mov eax, esp
mov ecx, esp
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
push ecx
mov esi, esp
mov byte [ebp - 4], 0x39
push ecx
mov ecx, esp
push 0x54a8a0
call fcn.00406fea
mov edx, ebx
mov ecx, esi
call fcn.004b3d80
pop ecx
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 0x38
call fcn.0044ef0e
lea ecx, [ebp - 0x25]
mov byte [ebp - 4], 0xb
call fcn.0044f694
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp - 0x9c]
mov ecx, dword [edi]
add ebx, 0xa8
inc dword [ebp - 0x88]
mov edi, ecx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x9c], ebx
cmp ecx, dword [eax]
jne 0x479b10
mov eax, dword [ebp - 0xe8]
xor ebx, ebx
mov dword [ebp - 0x4c], eax
inc ebx
mov eax, dword [ebp + 0x18]
cmp dword [eax - 0xc], 0
je 0x47aa44
push 0
push 0x5c
lea ecx, [ebp + 0x18]
call fcn.004aee68
cmp eax, 0xffffffff
jne 0x47b13e
lea eax, [ebp + 0x18]
push eax
push 0x53d64c
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esi
mov ecx, dword [ebp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x80]
mov dword [esi], eax
call fcn.004295ad
pop ecx
mov edx, eax
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x98]
call fcn.00409442
pop ecx
mov edx, eax
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x40]
call fcn.0040a037
pop ecx
push eax
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 0x3c
call fcn.00405d6e
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x80]
add ecx, 0xfffffff0
jmp 0x47b139
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x24cd
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x5c]
call fcn.00406620
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x35
call fcn.0040121b
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0xd0]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, ebx
call fcn.00407189
mov ecx, dword [ebp - 0x64]
call fcn.00407189
mov ecx, dword [ebp - 0xc4]
call fcn.00407189
mov ecx, dword [ebp - 0x60]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0xd8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0xa0]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x7c]
call fcn.00407c33
jmp 0x47b2ef
cmp dword [ebp - 0x120], 0
mov eax, 0x24c8
cmovne eax, dword [ebp - 0x120]
push eax
push dword [ebp - 0x124]
lea eax, [ebp - 0x11c]
push ecx
mov ecx, esp
push eax
call fcn.00407166
lea ecx, [ebp - 0x5c]
call fcn.00406620
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x30
call fcn.0040121b
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x11c]
jmp 0x47a68c
cmp dword [ebp - 0x12c], 0
mov eax, 0x24c5
cmovne eax, dword [ebp - 0x12c]
push eax
push dword [ebp - 0x130]
push ecx
mov esi, esp
mov dword [ebp - 0x50], esi
mov ecx, dword [ebp - 0x128]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x5c]
mov dword [esi], eax
call fcn.00406620
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2d
call fcn.0040121b
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x128]
jmp 0x47a697
push 0x24b8
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x5c]
call fcn.00406620
mov byte [ebp - 4], 0x26
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
call fcn.0040121b
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
jmp 0x47a6b4
push 0x24b7
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x5c]
call fcn.00406620
mov byte [ebp - 4], 0x25
jmp 0x47a7dd
cmp dword [ebp - 0xc8], 0
jne 0x47a8d5
xor eax, eax
inc eax
mov byte [ebp - 0x25], al
mov eax, dword [0x57d3ec]
add eax, 0x54
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp - 0x88]
mov byte [ebp - 4], 0x22
inc edi
call fcn.0044f24f
mov ecx, eax
mov esi, 0x1ac
mov eax, dword [ecx + esi + 4]
sub eax, dword [ecx + esi]
mov ecx, 0xa8
cdq
idiv ecx
cmp edi, eax
jae 0x47a8c9
imul ebx, edi, 0xa8
call fcn.0044f24f
push ecx
push ecx
xor edx, edx
mov dword [ebp - 0x2c], esp
mov esi, dword [eax + esi]
mov eax, esp
mov ecx, esp
add esi, ebx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x23
push str.Canceled
call fcn.00406fea
mov ecx, esi
mov byte [ebp - 4], 0x22
call fcn.0044ef0e
inc edi
add ebx, 0xa8
call fcn.0044f24f
mov ecx, eax
mov esi, 0x1ac
mov eax, dword [ecx + esi + 4]
sub eax, dword [ecx + esi]
mov ecx, 0xa8
cdq
idiv ecx
cmp edi, eax
jb 0x47a868
lea ecx, [ebp - 0x25]
mov byte [ebp - 4], 0x20
call fcn.0044f694
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0xe0]
push eax
mov ecx, esi
call fcn.0040121b
jmp 0x47a6b9
cmp byte [ebp - 0x41], 0
je 0x47a927
mov ecx, dword [ebp - 0xd8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov esi, dword [ebp - 0x38]
xor eax, eax
inc eax
and dword [esi + 4], 0
lea ecx, [esi + 8]
mov dword [esi], eax
call fcn.0040687a
jmp 0x47a6dd
push 0x2498
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x5c]
call fcn.00406620
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1e
call fcn.0040121b
mov ecx, dword [ebp - 0x54]
jmp 0x47a6bc
push 0x248b
push 0x80004004
push ecx
mov ecx, esp
push str.User_abort
call fcn.00406fea
mov esi, dword [ebp - 0x38]
mov ecx, esi
call fcn.00406620
jmp 0x47a6d2
cmp dword [ebp - 0x138], 0
mov eax, 0x2477
cmovne eax, dword [ebp - 0x138]
push eax
push dword [ebp - 0x13c]
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esi
mov edi, dword [ebp - 0x134]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x5c]
mov dword [esi], eax
call fcn.00406620
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x16
call fcn.0040121b
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [edi - 0x10]
jmp 0x47a6d8
cmp dword [ebp - 0x114], 0
mov eax, 0x246d
cmovne eax, dword [ebp - 0x114]
push eax
push dword [ebp - 0x118]
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esi
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x5c]
mov dword [esi], eax
call fcn.00406620
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x5c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.0040121b
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x110]
jmp 0x47a6ee
lea ecx, [ebp - 0x94]
call fcn.0040687a
and dword [ebp - 0x6c], 0
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x47ac3d
mov byte [ebp - 0x25], bl
xor edi, edi
xor ebx, ebx
mov dword [ebp - 0xbc], ebx
mov eax, dword [esi + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [0x57d3ec]
add eax, 0x54
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x3e
call fcn.0044f24f
lea ecx, [ebp - 0x25]
mov eax, dword [eax + 0x1ac]
mov bl, byte [eax + ebx + 0x55]
mov byte [ebp - 4], 0x3d
call fcn.0044f694
test bl, bl
je 0x47ac19
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x47aad4
push eax
mov eax, dword [ebp - 0xc0]
push dword [eax]
call fcn.004e370b
pop ecx
pop ecx
test eax, eax
jne 0x47ac19
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x47aaf7
push 0x54a8a0
call fcn.004ddaa2
pop ecx
push eax
push 0x54a8a0
lea ecx, [ebp - 0x94]
call fcn.004d5d16
mov eax, dword [ebp - 0xc0]
lea ecx, [ebp - 0x94]
inc ebx
mov dword [ebp - 0x6c], ebx
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004d5d16
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0x100]
add eax, edi
push eax
call fcn.004adcee
xor eax, eax
mov byte [ebp - 4], 0x3f
inc eax
cmp dword [ebp - 0xfc], eax
jne 0x47ab72
mov eax, dword [ebp - 0x100]
lea ecx, [ebp - 0x16c]
mov edx, 0x5446d0
mov eax, dword [eax]
add eax, 0x10
push eax
call fcn.004093b4
pop ecx
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004d5d16
mov ecx, dword [ebp - 0x16c]
jmp 0x47ac02
cmp dword [ebp - 0xfc], 0
je 0x47ac0a
push 0x54565c
push ecx
mov ecx, esp
push 0x54a8a0
call fcn.00406fea
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0xf8]
call fcn.004b3d80
push eax
mov edx, 0x54b6cc
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x1a4]
call fcn.004093b4
pop ecx
pop ecx
mov edx, eax
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x1a8]
call fcn.00409442
pop ecx
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x94]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004d5d16
mov ecx, dword [ebp - 0x1a8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x1a4]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0xf8]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x3d
call fcn.004add79
mov eax, dword [ebp + 0x24]
add edi, 8
mov ebx, dword [ebp - 0xbc]
mov edx, dword [esi]
add ebx, 0xa8
mov esi, edx
mov dword [ebp - 0xbc], ebx
cmp edx, dword [eax]
jne 0x47aa73
push 5
pop ecx
mov esi, str.__:___
lea edi, [ebp - 0x24]
rep movsd dword es:[edi], dword [esi]
xor esi, esi
movzx eax, word [ebp + esi*2 - 0x24]
lea ecx, [ebp - 0x94]
push 0x2e
push eax
call fcn.004af036
inc esi
cmp esi, 9
jb 0x47ac4c
lea ecx, [ebp - 0x98]
call fcn.0040687a
lea ecx, [ebp - 0x8c]
call fcn.0040687a
mov byte [ebp - 4], 0x45
push 0x5c
push dword [ebp + 0x14]
call fcn.004da090
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x47b285
sub esi, dword [ebp + 0x14]
sar esi, 1
cmp esi, 0xffffffff
je 0x47b285
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0xf8], eax
call fcn.004070e7
lea edi, [eax + 0x10]
mov dword [ebp - 0x48], edi
mov eax, 0x80
mov byte [ebp - 4], 0x47
cmp dword [edi - 0xc], eax
jle 0x47ad21
push eax
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040452e
push str....
mov edx, eax
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x19c]
call fcn.00409442
pop ecx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x49
call fcn.00405d6e
mov ecx, dword [ebp - 0x19c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x188]
lea ecx, [ecx - 0x10]
call fcn.00407189
push esi
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp + 0x14]
call fcn.0040452e
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x4a
call fcn.00405d6e
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x18c]
lea ecx, [ecx - 0x10]
call fcn.00407189
push str..exe
lea ecx, [ebp - 0x40]
call fcn.00409f12
push 0x54b708
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x4b
call fcn.00406fea
cmp byte [ebp - 0x42], 0
mov edx, 0x53d648
mov ecx, str.One
mov byte [ebp - 4], 0x4c
cmove ecx, edx
mov edx, eax
push ecx
lea ecx, [ebp - 0x198]
call fcn.00409442
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x4d
push ecx
mov edx, eax
lea ecx, [ebp - 0x194]
call fcn.0040a037
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x4e
push ecx
mov edx, eax
lea ecx, [ebp - 0x190]
call fcn.0040a037
add esp, 0xc
push eax
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x4f
call fcn.00405d6e
mov ecx, dword [ebp - 0x190]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x194]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x198]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x1a0]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov esi, dword [ebp - 0x8c]
push 0x2e
push esi
call fcn.004da090
pop ecx
pop ecx
test eax, eax
je 0x47ae69
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x47ae69
push eax
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040452e
push eax
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x50
call fcn.00405d6e
mov ecx, dword [ebp - 0xf4]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x80]
call fcn.0040687a
mov ebx, dword [ebp + 0x30]
mov byte [ebp - 4], 0x51
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov dword [ebp - 0x40], eax
cmp eax, ecx
je 0x47aeef
mov ecx, dword [eax + 0x10]
sub ecx, 0x10
call fcn.004070e7
mov esi, eax
lea eax, [esi + 0x10]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0x52
push eax
mov edx, 0x5446d0
lea ecx, [ebp - 0xf0]
call fcn.004093b4
pop ecx
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x80]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004d5d16
mov ecx, dword [ebp - 0xf0]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, esi
mov byte [ebp - 4], 0x51
call fcn.00407189
lea ecx, [ebp - 0x40]
call fcn.004094c2
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebx]
jne 0x47ae83
mov esi, dword [ebp - 0x80]
push str._en_US
push esi
call fcn.004e3849
pop ecx
pop ecx
test eax, eax
jne 0x47af0b
lea ecx, [ebp - 0x80]
call fcn.00406d1e
mov ebx, dword [ebp - 0x4c]
xor esi, esi
cmp byte [ebp - 0x2d], 0
mov eax, 0x54b73c
mov ecx, 0x53d648
cmove eax, ecx
mov edi, eax
test esi, esi
je 0x47af48
push esi
lea eax, [ebp - 0x90]
push 0x54b0f0
push eax
call fcn.004011e0
add esp, 0xc
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x54
or ebx, 2
jmp 0x47af60
lea ecx, [ebp - 0x10c]
call fcn.0040687a
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], 0x55
or ebx, 4
push str._Offline
lea ecx, [ebp - 0x168]
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0x4c], ebx
call fcn.00406fea
mov ebx, eax
push 0x53d64c
lea edx, [ebp - 0x98]
mov dword [ebp - 4], 0x56
lea ecx, [ebp - 0x164]
call fcn.00409442
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x57
push ecx
mov edx, eax
lea ecx, [ebp - 0x160]
call fcn.0040a037
push ebx
mov edx, eax
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x15c]
call fcn.0040a037
push edi
mov edx, eax
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x158]
call fcn.00409442
push 0x54b728
mov edx, eax
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x154]
call fcn.00409442
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x5b
push ecx
mov edx, eax
lea ecx, [ebp - 0x150]
call fcn.0040a037
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x14c]
push dword [ebp - 0x40]
mov edx, eax
call fcn.0040a037
push 0x546e14
mov edx, eax
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x1b8]
call fcn.00409442
add esp, 0x20
push eax
lea ecx, [ebp + 0x18]
mov byte [ebp - 4], 0x5e
call fcn.00405d6e
mov ecx, dword [ebp - 0x1b8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x14c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x150]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x154]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x158]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x15c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x160]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x164]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x168]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ebx, dword [ebp - 0x4c]
test bl, 4
je 0x47b0d0
mov ecx, dword [ebp - 0x10c]
and ebx, 0xfffffffb
lea ecx, [ecx - 0x10]
call fcn.00407189
mov dword [ebp - 4], 0x51
test bl, 2
je 0x47b0ed
mov ecx, dword [ebp - 0x90]
and ebx, 0xfffffffd
lea ecx, [ecx - 0x10]
call fcn.00407189
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x47b101
inc esi
jmp 0x47af23
mov ecx, dword [ebp - 0x80]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x8c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0xf8]
call fcn.00407189
push dword [ebp - 0xc8]
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x108]
lea eax, [ebp + 0x24]
push dword [ebp - 0x104]
push dword [ebp - 0xcc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.004044ab
push ecx
mov byte [ebp - 4], 0x5f
mov esi, esp
mov dword [ebp - 0xcc], esi
mov ecx, dword [ebp + 0x18]
add ecx, 0xfffffff0
mov dword [ebp - 0x50], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x60
mov esi, esp
mov dword [ebp - 0x104], esi
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
mov dword [ebp - 0xcc], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x61
mov esi, esp
mov dword [ebp - 0x90], esi
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
mov dword [ebp - 0x104], esp
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x62
mov esi, esp
mov dword [ebp - 0x90], esi
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.004070e7
mov dl, byte [ebp - 0x42]
lea ecx, [ebp - 0x5c]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xb
call fcn.00477524
add esp, 0x2c
mov byte [ebp - 4], 0x63
cmp dword [ebp - 0x5c], 0
jge 0x47b266
cmp dword [ebp - 0x58], 0
mov eax, 0x256f
cmovne eax, dword [ebp - 0x58]
push eax
push dword [ebp - 0x5c]
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esi
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x1b4]
mov dword [esi], eax
call fcn.00406620
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x1b4]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x64
call fcn.0040121b
mov ecx, dword [ebp - 0x1ac]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x54]
jmp 0x47b2e7
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov esi, dword [ebp - 0x38]
and dword [esi], 0
lea ecx, [esi + 8]
and dword [esi + 4], 0
call fcn.0040687a
jmp 0x47b2ef
push 0x2534
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x1b4]
call fcn.00406620
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x1b4]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x46
call fcn.0040121b
mov ecx, dword [ebp - 0x1ac]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x8c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x94]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0xb4]
call fcn.004af60c
lea ecx, [ebp - 0x74]
call fcn.004a96bc
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp + 0x18]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x47b345
call fcn.00405adf
mov eax, esi
call fcn.004d8aa1
ret
call fcn.00409e63
int3