Function at 0x495690
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c1fc8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2f0
mov al, byte [ecx + 0x492]
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], esp
test al, al
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edi
jne 0x495e6c
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x50], ebx
cmp edx, dword [ecx + 0x534]
jge 0x49574f
mov eax, dword [ecx + 0x530]
mov ecx, dword [ebp + 8]
lea esi, [edx*8]
add eax, esi
cmp dword [eax], ecx
jne 0x495841
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x50], ebx
mov edi, 1
mov eax, dword [ecx + 0x534]
mov ecx, dword [ecx + 0x530]
sub eax, edx
dec eax
add ecx, esi
mov esi, edi
dec edi
test esi, esi
je 0x49571e
add ecx, 8
jmp 0x495712
mov esi, dword [ebp - 0x18]
test eax, eax
je 0x495740
mov ecx, dword [esi + 0x530]
shl eax, 3
push eax
lea eax, [ecx + edx*8 + 8]
lea ecx, [ecx + edx*8]
push eax
push ecx
call fcn.0058a490
add esp, 0xc
mov eax, dword [esi + 0x534]
dec eax
xor edi, edi
mov dword [esi + 0x534], eax
cmp ebx, edi
jne 0x495859
mov eax, dword [0x682f9c]
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], edi
mov dword [ebp - 0x298], edi
mov word [ebp - 0x29c], di
call fcn.00415090
lea ecx, [ebp - 0x288]
call fcn.00415090
mov eax, dword [0x682f9c]
lea ecx, [ebp - 0x264]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], eax
call fcn.00415090
mov eax, dword [0x682f9c]
mov dword [ebp - 0x2fc], 0x5dc51c
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x238], edi
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x2fc]
push edi
push edx
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 1
call fcn.0057a250
test al, al
je 0x495832
mov eax, dword [ebp - 0x2e4]
cmp eax, edi
je 0x495832
push eax
mov ecx, esi
call fcn.004a34d0
mov ebx, eax
cmp ebx, edi
mov dword [ebp - 0x50], ebx
jne 0x49584a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2fc]
jmp 0x495e67
mov ecx, dword [ebp - 0x18]
inc edx
jmp 0x4956d1
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0
call fcn.0045ac50
mov dword [ebx + 8], edi
mov eax, dword [0x682f9c]
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xec], edi
mov word [ebp - 0xf0], di
call fcn.00415090
lea ecx, [ebp - 0xdc]
call fcn.00415090
mov eax, dword [0x682f9c]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
call fcn.00415090
mov eax, dword [0x682f9c]
mov dword [ebp - 0x150], 0x5dc51c
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], edi
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x150]
push edi
push ecx
push edx
lea ecx, [esi + 8]
mov byte [ebp - 4], 2
call fcn.0057a250
test al, al
je 0x495e5d
mov al, byte [esi + 0x4c4]
mov byte [ebp - 0x57], 0
test al, al
mov byte [ebp - 0x11], 0
jne 0x49594e
mov cl, byte [esi + 0x4c5]
test cl, cl
je 0x495a3d
mov cl, byte [esi + 0x4c7]
test cl, cl
je 0x495a3d
mov ecx, dword [ebx + 0x9ac]
cmp ecx, 0x7573
je 0x495960
cmp ecx, edi
jne 0x495986
test al, al
je 0x495986
mov al, byte [ebp - 0x10e]
test al, al
je 0x495986
mov al, byte [ebx + 0x301]
test al, al
je 0x495986
mov al, byte [ebp - 0x106]
test al, al
je 0x495986
mov byte [ebp - 0x57], 1
cmp ecx, 0x7573
jne 0x495a3d
mov dword [ebx + 0x9ac], edi
mov dword [ebx + 0x868], 3
mov eax, dword [ebp - 0x148]
mov byte [ebp - 0x11], 1
mov dword [ebx + 0x428], eax
mov ecx, dword [ebp - 0x144]
mov dword [ebx + 0x42c], ecx
mov edx, dword [ebp - 0x148]
mov dword [ebx + 0x430], edx
mov eax, dword [ebp - 0x144]
mov dword [ebx + 0x434], eax
mov eax, dword [ebx + 0xdc]
cmp eax, edi
je 0x4959f9
push eax
mov byte [ebp - 4], 3
call fcn.005a1c12
add esp, 4
mov ebx, dword [ebp - 0x50]
mov dword [ebp - 4], 2
xor edi, edi
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx - 8]
inc eax
push eax
call fcn.005a1be9
mov edx, eax
add esp, 4
cmp edx, edi
mov dword [ebx + 0xdc], edx
je 0x495a3d
mov edi, dword [ebp - 0xf8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor edi, edi
mov cl, byte [ebx + 0x868]
mov byte [ebp - 0x114], cl
mov eax, dword [ebx + 0x428]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebx + 0x42c]
or eax, ecx
mov dword [ebp - 0x144], ecx
jne 0x495a8c
cmp dword [ebx + 0x868], 3
jne 0x495a8c
mov eax, dword [ebx + 0x430]
mov ecx, dword [ebx + 0x434]
mov edx, eax
or edx, ecx
je 0x495a8c
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], ecx
mov edx, dword [ebx + 0x40]
cmp edx, edi
je 0x495ab6
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x495ab6
push edx
lea eax, [ebp - 0xa8]
push 0x65bf6c
push eax
call fcn.0059e618
add esp, 0xc
mov ecx, dword [0x682f9c]
mov dword [ebp - 0x68], ecx
xor edi, edi
lea edx, [ebp - 0x68]
lea ecx, [ebx + 0x20]
push edi
push edx
mov byte [ebp - 4], 5
mov dword [ebp - 0x88], ecx
call fcn.00533220
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x68]
push eax
push ecx
call fcn.0058aad4
add esp, 8
test eax, eax
je 0x495b07
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0xac]
push edx
push 0x65bf6c
push eax
call fcn.0059e618
add esp, 0xc
mov esi, dword [ebp - 0x18]
mov al, byte [esi + 0x51c]
test al, al
jne 0x495b5e
mov eax, dword [esi + 0x430]
mov ecx, dword [esi + 0x4c8]
lea edx, [ebp - 0x16c]
mov dword [ebp - 0x16c], edi
push edx
push 0x13c1
push 0x111
push eax
mov dword [ebp - 0x164], 0x190
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x15c], 0xfffffffb
mov dword [ebp - 0x168], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x5c], edi
mov word [ebp - 0x60], di
mov ecx, dword [0x682f9c]
mov dword [ebp - 0x70], ecx
mov edi, dword [ebx + 0x9ac]
mov al, byte [ebp - 0x106]
mov ecx, edi
mov dl, 1
test al, al
mov byte [ebp - 4], 7
mov dword [ebp - 0x128], ecx
mov byte [ebp - 0x58], 1
mov byte [ebp - 0x49], 0
mov byte [ebp - 0x55], dl
je 0x495bc7
mov eax, dword [esi + 0x4fc]
inc eax
mov dword [esi + 0x4fc], eax
mov al, byte [ebp - 0x107]
test al, al
mov al, byte [ebp - 0x113]
jne 0x495bcd
cmp al, dl
je 0x495bcd
mov byte [ebp - 0x58], 0
jmp 0x495bd5
mov al, byte [ebp - 0x113]
cmp al, 2
je 0x495bdd
cmp al, 1
je 0x495bdd
mov esi, dword [ebp - 0x18]
xor dl, dl
mov byte [ebp - 0x55], dl
test edi, edi
je 0x495ef1
cmp edi, 0x7563
je 0x495ef1
cmp edi, 0x7540
jne 0x495c33
mov edx, dword [ebx + 0x430]
mov dword [ebp - 0x140], edx
mov eax, dword [ebx + 0x434]
mov dword [ebp - 0x13c], eax
mov al, byte [ebp - 0x112]
cmp al, 5
jne 0x495c27
mov byte [ebp - 0x112], 3
jmp 0x495cd3
mov byte [ebp - 0x113], 1
jmp 0x495cd3
cmp al, 2
setne al
dec eax
and al, 0xfd
add eax, 6
cmp ecx, 0x7565
mov byte [ebp - 0x113], al
jne 0x495c55
mov byte [ebp - 0x111], 2
jmp 0x495c67
cmp ecx, 0x7566
setne cl
add ecx, 3
mov byte [ebp - 0x111], cl
test dl, dl
je 0x495c97
mov ecx, dword [esi + 0x504]
mov edx, dword [esi + 0x42c]
push 0
push 0x1430
inc ecx
push 0x111
push edx
mov dword [esi + 0x504], ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov al, byte [ebp - 0x113]
cmp byte [ebp - 0x112], 5
jne 0x495ca7
mov byte [ebp - 0x112], 6
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x495cd3
cmp al, 6
jne 0x495cd3
mov eax, dword [ebx + 0x9bc]
test eax, eax
jne 0x495cd3
mov eax, dword [0x6884dc]
mov ecx, dword [ebx + 0xc8]
push 0x30
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 0x107], 0
mov byte [ebp - 0x106], 0
mov eax, dword [ebx + 0x420]
test eax, eax
jne 0x495d24
cmp byte [ebp - 0x112], 3
je 0x495cfb
mov ecx, ebx
call fcn.0055be40
mov ecx, dword [ebx + 0x86c]
xor eax, eax
cmp ecx, eax
je 0x495d10
mov dword [ebx + 0xc], 1
jmp 0x495d26
cmp ebx, eax
je 0x495d24
mov ecx, ebx
call fcn.00554010
push ebx
call fcn.005a1c12
add esp, 4
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x40], eax
mov word [ebp - 0x44], ax
lea edx, [ebp - 0x48]
push 1
push edx
push eax
mov ecx, ebx
mov byte [ebp - 4], 8
call fcn.0055d320
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x495d4c
lea eax, [ebp - 0x44]
push 0x5c
push eax
call fcn.00589382
add esp, 8
test eax, eax
je 0x495d60
add eax, 2
jmp 0x495d6a
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x495d6a
lea eax, [ebp - 0x44]
mov ebx, dword [ebp + 8]
test ebx, ebx
sete cl
push ecx
push eax
mov ecx, esi
call fcn.00498080
cmp edi, 0x7540
je 0x495e7f
test eax, eax
je 0x495db3
lea edx, [ebp - 0x150]
mov ecx, esi
push edx
call fcn.0049c100
test eax, eax
je 0x495db3
lea eax, [ebp - 0x150]
mov ecx, esi
push eax
call fcn.0049c370
test eax, eax
jne 0x495e7f
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x150]
mov byte [ebp - 0x110], 0
lea esi, [ebx + 8]
push ecx
push edi
mov ecx, esi
call fcn.0057b9e0
mov eax, dword [ebp - 0x144]
test eax, eax
jl 0x495dfa
jg 0x495de8
mov ecx, dword [ebp - 0x148]
test ecx, ecx
jbe 0x495dfa
mov edx, dword [ebp - 0x148]
push 1
push edi
push eax
push edx
mov ecx, esi
call fcn.0057d360
mov al, byte [ebp - 0x111]
test al, al
je 0x495e15
mov eax, dword [ebp - 0x111]
push 1
push edi
push eax
mov ecx, esi
call fcn.0057d4b0
mov ecx, dword [ebx + 0x42c]
push edi
push 0x13fe
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.00401070
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 6
call fcn.005a584d
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.005a584d
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x150]
call fcn.0045ac50
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x150]
lea esi, [ebx + 8]
push edx
push edi
mov ecx, esi
call fcn.0057b9e0
mov eax, dword [ebp - 0x144]
test eax, eax
jl 0x495ebf
jg 0x495ead
mov ecx, dword [ebp - 0x148]
test ecx, ecx
jbe 0x495ebf
push 1
push edi
push eax
mov eax, dword [ebp - 0x148]
push eax
mov ecx, esi
call fcn.0057d360
mov al, byte [ebp - 0x111]
test al, al
je 0x495eda
mov ecx, dword [ebp - 0x111]
push 1
push edi
push ecx
mov ecx, esi
call fcn.0057d4b0
mov edx, dword [ebx + 0x42c]
push edi
push 0x1426
push 0x111
push edx
jmp 0x495e27
mov eax, dword [ebp + 8]
test eax, eax
jne 0x495eff
mov byte [esi + 0x491], 1
mov al, byte [ebp - 0x106]
mov byte [ebp - 0x113], 4
test al, al
je 0x495f14
mov byte [ebp - 0x49], 1
test dl, dl
je 0x495f3e
mov eax, dword [esi + 0x504]
push 0
inc eax
push 0x1430
mov dword [esi + 0x504], eax
mov eax, dword [esi + 0x42c]
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov al, byte [ebp - 0x106]
test al, al
je 0x495f56
mov al, byte [ebp - 0x107]
mov byte [ebp - 0x56], 1
test al, al
je 0x495f5a
mov byte [ebp - 0x56], 0
mov al, byte [ebp - 0x111]
xor bl, bl
cmp al, 2
mov byte [ebp - 0x107], 0
mov byte [ebp - 0x106], 0
je 0x495f7c
cmp al, 3
je 0x495f7c
cmp al, 4
jne 0x495f85
mov bl, 1
mov byte [ebp - 0x111], 0
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp + 8]
lea edx, [ebp - 0x150]
lea edi, [ecx + 8]
push edx
push esi
mov ecx, edi
mov dword [ebp - 0x54], edi
call fcn.0057b9e0
mov eax, dword [ebp - 0x144]
test eax, eax
jl 0x495fc8
jg 0x495fb6
mov ecx, dword [ebp - 0x148]
test ecx, ecx
jbe 0x495fc8
push 1
push esi
push eax
mov eax, dword [ebp - 0x148]
push eax
mov ecx, edi
call fcn.0057d360
test bl, bl
je 0x495fdd
mov ecx, dword [ebp - 0x111]
push 1
push esi
push ecx
mov ecx, edi
call fcn.0057d4b0
xor ecx, ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x78], ecx
mov word [ebp - 0x7c], cx
mov al, byte [ebp - 0x11]
mov byte [ebp - 4], 9
test al, al
mov dword [ebp - 0x6c], 1
je 0x496014
mov edx, dword [ebp - 0xf4]
lea ecx, [ebp - 0x80]
push edx
call fcn.00401ee0
mov edi, dword [ebp - 0x50]
xor ebx, ebx
jmp 0x4961e2
mov edi, dword [ebp - 0x50]
cmp dword [edi + 0xcc], ecx
je 0x49603e
cmp dword [edi + 0x5c], ecx
je 0x49603e
mov eax, dword [edi + 0x54]
cmp eax, ecx
jne 0x49602e
lea eax, [edi + 0x58]
push eax
lea ecx, [ebp - 0x80]
call fcn.00401ee0
xor ebx, ebx
jmp 0x4961e2
mov al, byte [ebp - 0x102]
test al, al
mov eax, dword [ebp - 0xf4]
je 0x496074
push eax
lea ecx, [ebp - 0x80]
call fcn.00401ee0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x496061
lea eax, [ebp - 0x7c]
mov ecx, dword [ebp - 0x88]
push eax
call fcn.00567040
xor ebx, ebx
jmp 0x4961e2
cmp eax, ecx
jne 0x49607e
lea eax, [ebp - 0xf0]
mov edx, dword [ebp + 8]
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x80]
push eax
push ecx
mov ecx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0x150]
push edi
push eax
call fcn.004943b0
mov esi, eax
cmp esi, ebx
jle 0x4961e2
mov eax, dword [0x682f9c]
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], ebx
mov dword [ebp - 0x1d0], ebx
mov word [ebp - 0x1d4], bx
mov dword [ebp - 0x1cc], ebx
mov dword [ebp - 0x1c4], ebx
mov word [ebp - 0x1c8], bx
call fcn.00415090
mov eax, dword [0x682f9c]
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], eax
call fcn.00415090
mov eax, dword [0x682f9c]
mov dword [ebp - 0x234], 0x5dc51c
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], ebx
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], ebx
lea ecx, [ebp - 0x234]
push ebx
push ecx
mov ecx, dword [ebp - 0x54]
push esi
mov byte [ebp - 4], 0xa
call fcn.0057a250
test al, al
je 0x4961d3
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x148]
cmp edx, eax
jne 0x4961d3
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x144]
cmp eax, ecx
jne 0x4961d3
mov eax, dword [ebp - 0xe8]
cmp eax, ebx
mov ecx, eax
jne 0x496198
lea ecx, [ebp - 0xe4]
mov eax, dword [ebp - 0x1cc]
cmp eax, ebx
jne 0x4961a8
lea eax, [ebp - 0x1c8]
push ecx
push eax
call fcn.0058b9fc
add esp, 8
test eax, eax
jne 0x4961d3
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x130], esi
mov al, byte [ecx + 0x28f]
test al, al
je 0x4961d3
mov dword [ebp - 0x6c], ebx
mov byte [ebp - 0x110], 0
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 9
call fcn.0045ac50
mov eax, dword [ebp - 0x80]
cmp eax, ebx
jne 0x4961ec
lea eax, [ebp - 0x7c]
push 0x5c
push eax
call fcn.00589382
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x496202
add ebx, 2
jmp 0x49620e
mov eax, dword [ebp - 0x80]
test eax, eax
mov ebx, eax
jne 0x49620e
lea ebx, [ebp - 0x7c]
push 0x2e
push ebx
call fcn.00589382
mov esi, eax
add esp, 8
test esi, esi
je 0x49628c
push 0x6618f0
push esi
call fcn.0058b9fc
add esp, 8
test eax, eax
je 0x496243
push 0x663108
push esi
call fcn.0058b9fc
add esp, 8
test eax, eax
jne 0x49628c
mov al, byte [ebp - 0x55]
mov byte [ebp - 0x105], 1
test al, al
jne 0x496258
mov al, byte [ebp - 0x49]
test al, al
jne 0x496279
mov eax, dword [ebp + 8]
test eax, eax
je 0x496272
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x150]
push edx
call fcn.0049be20
test eax, eax
je 0x496279
mov byte [ebp - 0x113], 0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x150]
push eax
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.0057b9e0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jge 0x4962ee
mov eax, dword [edi + 0x420]
test eax, eax
jne 0x497810
mov ecx, edi
call fcn.0055be40
mov eax, dword [edi + 0x86c]
test eax, eax
je 0x4962ca
mov dword [edi + 0xc], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x80]
jmp 0x495e34
test edi, edi
je 0x497810
mov ecx, edi
call fcn.00554010
push edi
call fcn.005a1c12
add esp, 4
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x80]
jmp 0x495e34
mov edx, dword [0x682f9c]
mov dword [ebp - 0x74], edx
test esi, esi
mov byte [ebp - 4], 0xb
jne 0x496301
mov esi, ebx
push esi
lea ecx, [ebp - 0x84]
call fcn.005a590d
mov ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0xc
push eax
push ecx
lea ecx, [esi + 0x10]
call fcn.004b95b0
mov dword [ebp - 0x11c], eax
mov al, byte [esi + 0x492]
test al, al
jne 0x4977f5
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 0xbc]
push edx
push 0x65bf6c
push eax
call fcn.0059e618
mov eax, dword [edi + 0xdc]
add esp, 0xc
test eax, eax
je 0x496379
mov cl, byte [ebp - 0x11]
test cl, cl
jne 0x496379
push eax
lea ecx, [ebp - 0xf8]
push 0x65bf6c
push ecx
call fcn.0059e618
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x150]
push edx
push eax
call fcn.0057b9e0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
push 1
push ecx
mov ecx, dword [ebp - 0x54]
push edx
call fcn.0057cf70
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x4963ea
mov edx, dword [ebp + 8]
mov ecx, esi
test edx, edx
sete al
push eax
push ebx
call fcn.00498080
test eax, eax
mov dword [ebp - 0x6c], eax
je 0x4963ea
lea ecx, [ebp - 0x150]
push ecx
mov ecx, esi
call fcn.0049c100
test eax, eax
mov dword [ebp - 0x6c], eax
je 0x4963ea
lea edx, [ebp - 0x150]
mov ecx, esi
push edx
call fcn.0049c370
test eax, eax
mov dword [ebp - 0x6c], eax
jne 0x49640c
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x150]
push eax
push ecx
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 0x110], 0
call fcn.0057b9e0
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x49645e
mov al, byte [ebp - 0x58]
test al, al
je 0x49643c
mov eax, dword [esi + 0x4f0]
mov edx, dword [esi + 0x42c]
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
inc eax
push eax
push 0x1401
push 0x111
push edx
mov dword [esi + 0x4f0], eax
call ebx
jmp 0x496442
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
mov al, byte [ebp - 0x49]
test al, al
je 0x49645e
mov eax, dword [esi + 0x428]
push 0
push 0x1415
push 0x111
push eax
call ebx
mov al, byte [ebp - 0x113]
test al, al
je 0x496f0f
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x496528
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x42c]
push ecx
push 0x13fd
push 0x111
push edx
call ebx
mov al, byte [esi + 0x290]
test al, al
jne 0x4964a3
mov al, byte [ebp - 0x57]
test al, al
je 0x49653f
cmp dword [edi + 0x868], 3
jne 0x49653f
mov eax, dword [edi + 0xcc]
test eax, eax
jne 0x4964ca
mov al, byte [ebp - 0x11]
test al, al
jne 0x4964ca
push 0
mov ecx, edi
call fcn.00558950
mov byte [ebp - 0x112], 4
mov eax, dword [edi + 0x420]
test eax, eax
jne 0x4964e2
mov ecx, edi
call fcn.0055be40
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x150]
push eax
push ecx
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 0x111], 1
call fcn.0057b9e0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x111]
mov ecx, dword [ebp - 0x54]
push 1
push edx
push eax
call fcn.0057d4b0
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x42c]
push ecx
push 0x1426
push 0x111
push edx
jmp 0x49653d
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x42c]
push eax
push 0x13fe
push 0x111
push ecx
call ebx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [edi + 0x868]
mov al, byte [ebp - 0x112]
cmp ecx, 3
je 0x4965bf
cmp al, 5
je 0x49656f
mov dl, byte [esi + 0x290]
test dl, dl
je 0x49659e
mov edx, dword [ebp - 0x6c]
xor esi, esi
cmp edx, esi
je 0x4965a0
jmp 0x496571
xor esi, esi
mov dl, byte [ebp - 0x49]
test dl, dl
je 0x4965a0
mov edx, dword [edi + 0x428]
mov ebx, dword [edi + 0x42c]
or edx, ebx
jne 0x4965a0
mov edx, dword [edi + 0x430]
mov ebx, dword [edi + 0x434]
or edx, ebx
jne 0x4965a0
cmp ecx, esi
je 0x4965c1
jmp 0x4965a0
xor esi, esi
cmp al, 5
je 0x4965b3
cmp dword [edi + 0x420], esi
jne 0x4965b3
mov ecx, edi
call fcn.0055be40
mov byte [ebp - 0x112], 1
jmp 0x496e78
xor esi, esi
cmp al, 5
jne 0x496652
cmp dword [edi + 0xcc], esi
jne 0x4965e0
mov al, byte [ebp - 0x11]
test al, al
jne 0x4965e0
push esi
mov ecx, edi
call fcn.00558950
mov byte [ebp - 0x112], 4
mov eax, dword [edi + 0x420]
cmp eax, esi
jne 0x4965f8
mov ecx, edi
call fcn.0055be40
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x150]
mov ecx, esi
push eax
push ebx
mov byte [ebp - 0x111], 1
call fcn.0057b9e0
mov ecx, dword [ebp - 0x111]
push 1
push ebx
push ecx
mov ecx, esi
call fcn.0057d4b0
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x496e67
mov eax, dword [ebp - 0x18]
mov edx, ebx
push edx
push 0x1426
mov ecx, dword [eax + 0x42c]
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x496e67
cmp al, 4
je 0x49665d
mov byte [ebp - 0x112], 2
mov al, byte [ebp + 0xc]
test al, al
je 0x496d4e
mov al, byte [ebp - 0x11]
test al, al
jne 0x496d4e
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
mov word [ebp - 0x2c], si
mov eax, dword [edi + 0xdc]
mov byte [ebp - 4], 0xd
cmp eax, esi
je 0x4967c4
push 9
push str.text_html
push eax
call fcn.0058b6b0
add esp, 0xc
test eax, eax
jne 0x4967c4
mov esi, dword [edi + 0x50]
test esi, esi
je 0x49693c
mov edx, 0x65bff8
test edx, edx
je 0x49693c
test esi, esi
je 0x49693c
mov eax, 0x663108
test eax, eax
je 0x49693c
xor eax, eax
lea ecx, [ebp - 0x3c]
push eax
push edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov word [ebp - 0x38], ax
call fcn.00402800
push esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.00403af0
mov bl, 0xf
push 0x663108
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call fcn.00403af0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.00401070
mov edi, dword [ebp - 0x24]
test edi, edi
jne 0x49671f
lea edi, [ebp - 0x20]
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x48]
call fcn.00401ed0
push eax
call fcn.00589432
mov edx, eax
push edi
mov dword [ebp + 0xc], edx
call fcn.00589432
mov ecx, dword [ebp + 0xc]
add esi, ecx
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005a1be9
mov edx, eax
add esp, 0xc
test edx, edx
mov dword [ebp - 0x30], edx
je 0x4967a1
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x48]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x30]
push esi
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00589432
add esp, 0x18
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.00401070
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x3c]
jmp 0x496934
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
mov word [ebp - 0x44], si
mov eax, dword [0x6877a4]
lea edx, [ebp - 0x48]
push 1
add eax, 0x678
push edx
push eax
mov ecx, edi
mov byte [ebp - 4], 0x11
call fcn.0055d320
mov eax, dword [ebp - 0x48]
cmp eax, esi
jne 0x4967f4
lea eax, [ebp - 0x44]
push 0x2e
push eax
call fcn.00589382
mov edi, eax
xor ebx, ebx
add esp, 8
cmp edi, ebx
je 0x49691e
mov ecx, dword [ebp - 0x50]
mov edx, 0x65bff8
test edx, edx
mov esi, dword [ecx + 0x50]
je 0x49692d
cmp esi, ebx
je 0x49692d
push ebx
push edx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x38], bx
call fcn.00402800
push esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x12
call fcn.00403af0
push edi
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x13
call fcn.00403af0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov edi, dword [ebp - 0x24]
cmp edi, ebx
jne 0x49686d
lea edi, [ebp - 0x20]
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x160]
call fcn.00401ed0
push eax
call fcn.00589432
mov edx, eax
push edi
mov dword [ebp + 0xc], edx
call fcn.00589432
mov ecx, dword [ebp + 0xc]
add esi, ecx
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005a1be9
mov edx, eax
add esp, 0xc
cmp edx, ebx
mov dword [ebp - 0x30], edx
je 0x4968f5
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x160]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x30]
push esi
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00589432
add esp, 0x18
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x13
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x12
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x11
call fcn.00401070
jmp 0x49692d
mov edx, dword [ebp - 0x50]
lea ecx, [ebp - 0x30]
mov eax, dword [edx + 0x50]
push eax
call fcn.00401ee0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x48]
call fcn.00401070
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x496946
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [edi + 0x50]
push eax
call fcn.0058c0e4
mov eax, dword [ebp - 0x30]
add esp, 8
test eax, eax
jne 0x49695d
lea eax, [ebp - 0x2c]
push 0x5c
push eax
call fcn.00589382
mov esi, eax
add esp, 8
test esi, esi
je 0x496bd7
add esi, 2
cmp word [esi], 0
je 0x496bd7
xor ecx, ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x40], ecx
mov word [ebp - 0x44], cx
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x15
mov eax, dword [edx + 0x434]
cmp eax, ecx
je 0x4969a0
mov edi, eax
jmp 0x4969a9
mov eax, dword [ebp - 0x18]
lea edi, [eax + 0x438]
mov edx, 0x65bff8
test edx, edx
je 0x496ac8
xor ebx, ebx
cmp edi, ebx
je 0x496aca
cmp esi, ebx
je 0x496aca
push ebx
push edx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x20], bx
call fcn.00402800
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x38], bx
call fcn.00401ee0
push esi
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x17
call fcn.00403af0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x18
call fcn.00401070
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x160]
call fcn.00401ed0
push eax
call fcn.00589432
add esp, 4
lea ecx, [ebp - 0x3c]
mov edi, eax
call fcn.00401ed0
push eax
call fcn.00589432
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005a1be9
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x48], edx
je 0x496a9c
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x160]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x48]
push esi
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00589432
add esp, 0x18
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x17
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x16
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x15
call fcn.00401070
mov ecx, dword [ebp - 0x48]
jmp 0x496aca
xor ebx, ebx
cmp ecx, ebx
jne 0x496ad1
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 0x30]
cmp eax, ebx
jne 0x496adb
lea eax, [ebp - 0x2c]
push ecx
push eax
call fcn.0058c0e4
add esp, 8
test eax, eax
jne 0x496bc8
mov eax, dword [ebp - 0x48]
cmp eax, ebx
jne 0x496af7
lea eax, [ebp - 0x44]
mov edx, 0x65bf6c
test edx, edx
je 0x496bc8
cmp eax, ebx
je 0x496bc8
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x38], bx
call fcn.00401ee0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x19
call fcn.00401070
push ebx
push 0x65bf6c
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x20], bx
call fcn.00402800
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1a
call fcn.00401ed0
push eax
call fcn.00589432
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005a1be9
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x30], edx
je 0x496bb0
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x3c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x30]
push esi
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00589432
add esp, 0x14
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x19
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x15
call fcn.00401070
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xd
call fcn.00401070
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x496be1
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [edi + 0xdc]
push 0
push ecx
lea esi, [edx + 0x2f8]
mov edx, dword [edi + 0x3c]
push eax
mov eax, dword [ebp - 0x100]
push edx
push eax
mov ecx, esi
call fcn.00418100
mov ecx, dword [ebp - 0xac]
cmp dword [ecx - 8], 5
jle 0x496c32
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x496c1c
lea eax, [ebp - 0x2c]
mov edx, dword [edi + 0xdc]
push 0
push edx
push eax
mov eax, dword [edi + 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.00418100
mov eax, dword [ebp - 0x30]
mov byte [ebp - 0x108], 1
test eax, eax
jne 0x496c43
lea eax, [ebp - 0x2c]
mov ecx, 0x65bf6c
test ecx, ecx
je 0x496d2a
test eax, eax
je 0x496d2a
xor ecx, ecx
push eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], ecx
mov word [ebp - 0x38], cx
lea ecx, [ebp - 0x3c]
call fcn.00401ee0
mov bl, 0x1b
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], bl
call fcn.00401070
xor eax, eax
lea ecx, [ebp - 0x24]
push eax
push 0x65bf6c
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x20], ax
call fcn.00402800
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1c
call fcn.00401ed0
push eax
call fcn.00589432
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005a1be9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0xb8], edx
je 0x496d10
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x3c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0xb8]
push esi
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00589432
add esp, 0x14
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xd
call fcn.00401070
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x150]
push edx
push eax
call fcn.0057b9e0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xc
call fcn.00401070
jmp 0x496e67
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x496e67
mov al, byte [ebp - 0x11]
test al, al
jne 0x496e67
mov ecx, dword [edi + 0x50]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, 0x65bf6c
mov byte [ebp - 0x108], 1
test edx, edx
je 0x496e54
xor eax, eax
push esi
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov word [ebp - 0x38], ax
call fcn.00401ee0
mov bl, 0x1d
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], bl
call fcn.00401070
xor eax, eax
lea ecx, [ebp - 0x24]
push eax
push 0x65bf6c
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x20], ax
call fcn.00402800
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1e
call fcn.00401ed0
push eax
call fcn.00589432
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005a1be9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0xb8], edx
je 0x496e3a
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x3c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0xb8]
push esi
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00589432
add esp, 0x14
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xc
call fcn.00401070
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x150]
push edx
push eax
call fcn.0057b9e0
mov eax, dword [edi + 0x420]
test eax, eax
jne 0x496e78
mov ecx, edi
call fcn.0055be40
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0x510]
test eax, eax
je 0x496e9a
mov ecx, dword [esi + 0x564]
push esi
push 0
push 0x140c
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [esi + 0x50c]
test eax, eax
je 0x496eb9
mov edx, dword [esi + 0x564]
push esi
push 0
push 0x13fc
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [edi + 0x420]
test eax, eax
jne 0x496eff
mov ecx, edi
call fcn.0055be40
mov eax, dword [edi + 0x86c]
test eax, eax
je 0x496eeb
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x150]
push eax
mov dword [edi + 0xc], 1
push ecx
jmp 0x4977ed
test edi, edi
je 0x496eff
mov ecx, edi
call fcn.00554010
push edi
call fcn.005a1c12
add esp, 4
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x150]
push eax
push ecx
jmp 0x4977ed
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 0x112], 2
test eax, eax
jne 0x496f34
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x42c]
push edx
push 0x13fe
push 0x111
push eax
call ebx
mov esi, dword [edi + 0x50]
mov ecx, 0x65bff8
test ecx, ecx
je 0x49705d
test esi, esi
je 0x49705d
mov edx, 0x663108
test edx, edx
je 0x49705d
xor edi, edi
push edi
push ecx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x34], edi
mov word [ebp - 0x38], di
call fcn.00402800
push esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], edi
mov word [ebp - 0x20], di
call fcn.00401ee0
mov bl, 0x20
push 0x663108
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
call fcn.00403af0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x21
call fcn.00401070
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x160]
call fcn.00401ed0
push eax
call fcn.00589432
add esp, 4
lea ecx, [ebp - 0x24]
mov edi, eax
call fcn.00401ed0
push eax
call fcn.00589432
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005a1be9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x64], edx
je 0x497034
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x160]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x64]
push esi
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.00589432
add esp, 0x18
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1f
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xc
call fcn.00401070
mov edi, dword [ebp - 0x50]
mov bl, byte [ebp - 0x11]
test bl, bl
je 0x4970f9
mov eax, dword [0x65f7c4]
test eax, eax
je 0x497091
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x49707b
lea ecx, [ebp - 0x60]
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x49708b
lea eax, [ebp - 0xf0]
push 0
push ecx
push eax
jmp 0x49710a
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x4970a1
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x88]
call fcn.005a590d
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0x22
test eax, eax
jne 0x4970bb
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x154]
call fcn.005a590d
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x88]
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x154]
call fcn.005a584d
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xc
call fcn.005a584d
jmp 0x497110
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x497103
lea eax, [ebp - 0x60]
mov ecx, dword [edi + 0x50]
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov esi, dword [ebp - 0x18]
mov al, byte [esi + 0x290]
test al, al
jne 0x497124
mov al, byte [ebp - 0x57]
test al, al
je 0x49712f
mov eax, dword [ebp - 0x6c]
test eax, eax
jne 0x497257
mov al, byte [ebp - 0x56]
test al, al
jne 0x497257
test bl, bl
je 0x49715b
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x49714e
lea eax, [ebp - 0xf0]
mov edx, dword [edi + 0x50]
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, dword [edi + 0x50]
mov ecx, 0x65bf6c
test ecx, ecx
je 0x497242
test eax, eax
je 0x497242
xor esi, esi
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
mov word [ebp - 0x44], si
call fcn.00401ee0
mov bl, 0x23
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], bl
call fcn.00401070
push esi
push 0x65bf6c
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov word [ebp - 0x20], si
call fcn.00402800
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0x24
cmp eax, esi
jne 0x4971be
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0x1c]
push eax
call fcn.00589432
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005a1be9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0xdc], edx
je 0x49722b
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x48]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0xdc]
push esi
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00589432
add esp, 0x14
mov dword [ebp - 0xd4], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc
call fcn.00401070
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x150]
push edx
push eax
call fcn.0057b9e0
jmp 0x4972b0
test bl, bl
jne 0x497264
push 0
mov ecx, edi
call fcn.00558950
mov edi, dword [ebp + 8]
mov ebx, dword [ebp - 0x54]
lea ecx, [ebp - 0x150]
mov byte [ebp - 0x112], 4
push ecx
push edi
mov ecx, ebx
mov byte [ebp - 0x111], 1
call fcn.0057b9e0
mov edx, dword [ebp - 0x111]
push 1
push edi
push edx
mov ecx, ebx
call fcn.0057d4b0
mov eax, dword [esi + 0x42c]
push edi
push 0x1426
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov al, byte [ebp + 0xc]
test al, al
je 0x49769e
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x4972c5
lea eax, [ebp - 0x60]
push 0x5c
push eax
call fcn.00589382
mov esi, eax
add esp, 8
test esi, esi
je 0x497549
add esi, 2
cmp word [esi], 0
je 0x497549
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x40], ebx
mov word [ebp - 0x44], bx
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 0x25
mov eax, dword [edi + 0x434]
cmp eax, ebx
je 0x49730a
mov edi, eax
jmp 0x497310
add edi, 0x438
mov edx, 0x65bff8
test edx, edx
je 0x497429
cmp edi, ebx
je 0x497429
cmp esi, ebx
je 0x497429
push ebx
push edx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov word [ebp - 0x2c], bx
call fcn.00402800
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x38], bx
call fcn.00401ee0
push esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x20], bx
call fcn.00401ee0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x28
call fcn.00401070
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
call fcn.00589432
add esp, 4
lea ecx, [ebp - 0x3c]
mov edi, eax
call fcn.00401ed0
push eax
call fcn.00589432
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005a1be9
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x48], edx
je 0x497402
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x30]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x48]
push esi
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00589432
add esp, 0x18
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x27
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x26
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x25
call fcn.00401070
mov ecx, dword [ebp - 0x48]
cmp ecx, ebx
jne 0x497430
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 0x64]
cmp eax, ebx
jne 0x49743a
lea eax, [ebp - 0x60]
push ecx
push eax
call fcn.0058c0e4
add esp, 8
test eax, eax
jne 0x49753d
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x497456
lea eax, [ebp - 0x44]
mov edx, 0x65bf6c
test edx, edx
je 0x49752b
test eax, eax
je 0x49752b
xor esi, esi
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
mov word [ebp - 0x2c], si
call fcn.00401ee0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x29
call fcn.00401070
push esi
push 0x65bf6c
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov word [ebp - 0x20], si
call fcn.00402800
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0x2a
cmp eax, esi
jne 0x4974b2
lea eax, [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
push eax
call fcn.00589432
lea ebx, [eax + esi + 2]
lea esi, [ebx + ebx]
push esi
call fcn.005a1be9
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0x64], edi
je 0x497513
mov ecx, esi
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x4974f0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x64]
push ebx
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.00589432
add esp, 0x14
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x29
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x25
call fcn.00401070
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x420]
test eax, eax
jne 0x49753d
call fcn.0055be40
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc
call fcn.00401070
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x497553
lea eax, [ebp - 0x60]
mov edi, dword [ebp - 0x50]
mov edx, dword [ebp - 0x18]
push 0
mov ecx, dword [edi + 0xdc]
lea esi, [edx + 0x2f8]
mov edx, dword [edi + 0x3c]
push ecx
push eax
mov eax, dword [ebp - 0x100]
push edx
push eax
mov ecx, esi
call fcn.00418100
mov ecx, dword [ebp - 0xac]
cmp dword [ecx - 8], 5
jle 0x4975a7
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x497591
lea eax, [ebp - 0x60]
mov edx, dword [edi + 0xdc]
push 0
push edx
push eax
mov eax, dword [edi + 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.00418100
mov eax, dword [ebp - 0x64]
mov byte [ebp - 0x108], 1
test eax, eax
jne 0x4975b8
lea eax, [ebp - 0x60]
mov ecx, 0x65bf6c
test ecx, ecx
je 0x4977a0
test eax, eax
je 0x4977a0
xor esi, esi
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
mov word [ebp - 0x44], si
call fcn.00401ee0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x2b
call fcn.00401070
push esi
push 0x65bf6c
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
mov word [ebp - 0x2c], si
call fcn.00402800
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0x2c
cmp eax, esi
jne 0x497617
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0x28]
push eax
call fcn.00589432
lea ebx, [eax + esi + 2]
lea esi, [ebx + ebx]
push esi
call fcn.005a1be9
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0xb8], edi
je 0x497686
mov ecx, esi
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x497658
lea eax, [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x497662
lea ecx, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0xb8]
push ecx
push ebx
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00589432
add esp, 0x14
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x2b
call fcn.00401070
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x48]
jmp 0x49779b
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x4977a0
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x420]
test eax, eax
jne 0x4976bb
call fcn.0055be40
mov edx, 0x65bf6c
mov byte [ebp - 0x108], 1
test edx, edx
je 0x4977a0
xor esi, esi
push edi
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
mov word [ebp - 0x2c], si
call fcn.00401ee0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x2d
call fcn.00401070
push esi
push 0x65bf6c
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.00402800
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0x2e
cmp eax, esi
jne 0x497719
lea eax, [ebp - 0x2c]
mov esi, dword [ebp - 0x34]
push eax
call fcn.00589432
lea ebx, [eax + esi + 2]
lea esi, [ebx + ebx]
push esi
call fcn.005a1be9
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0xb8], edi
je 0x497788
mov ecx, esi
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x49775a
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
jne 0x497764
lea ecx, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0xb8]
push ecx
push ebx
push eax
call fcn.005893c2
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00589432
add esp, 0x14
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x2d
call fcn.00401070
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x30]
call fcn.00401070
mov esi, dword [ebp - 0x50]
mov eax, dword [esi + 0x420]
test eax, eax
jne 0x4977db
mov ecx, esi
call fcn.0055be40
mov eax, dword [esi + 0x86c]
test eax, eax
je 0x4977c7
mov dword [esi + 0xc], 1
jmp 0x4977db
test esi, esi
je 0x4977db
mov ecx, esi
call fcn.00554010
push esi
call fcn.005a1c12
add esp, 4
mov al, byte [ebp - 0x56]
test al, al
je 0x49781c
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x150]
push edx
push eax
mov ecx, dword [ebp - 0x54]
call fcn.0057b9e0
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xb
call fcn.005a584d
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 9
call fcn.005a584d
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x80]
jmp 0x495e34
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x150]
push ecx
mov ecx, dword [ebp - 0x54]
push esi
mov byte [ebp - 0x104], 1
call fcn.0057b9e0
mov edx, dword [ebp - 0x18]
push esi
push 0
push 0x140e
mov eax, dword [edx + 0x564]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xb
call fcn.005a584d
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 9
call fcn.005a584d
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x80]
jmp 0x495e34