Function at 0x491550
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b6ea8
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 0x491d2c
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x50], ebx
cmp edx, dword [ecx + 0x534]
jge 0x49160f
mov eax, dword [ecx + 0x530]
mov ecx, dword [ebp + 8]
lea esi, [edx*8]
add eax, esi
cmp dword [eax], ecx
jne 0x491701
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 0x4915de
add ecx, 8
jmp 0x4915d2
mov esi, dword [ebp - 0x18]
test eax, eax
je 0x491600
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.0057f970
add esp, 0xc
mov eax, dword [esi + 0x534]
dec eax
xor edi, edi
mov dword [esi + 0x534], eax
cmp ebx, edi
jne 0x491719
mov eax, dword [0x6754d4]
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.00414e30
lea ecx, [ebp - 0x288]
call fcn.00414e30
mov eax, dword [0x6754d4]
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.00414e30
mov eax, dword [0x6754d4]
mov dword [ebp - 0x2fc], 0x5d1124
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.0056f480
test al, al
je 0x4916f2
mov eax, dword [ebp - 0x2e4]
cmp eax, edi
je 0x4916f2
push eax
mov ecx, esi
call fcn.0049f390
mov ebx, eax
cmp ebx, edi
mov dword [ebp - 0x50], ebx
jne 0x49170a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2fc]
jmp 0x491d27
mov ecx, dword [ebp - 0x18]
inc edx
jmp 0x491591
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0
call fcn.00458730
mov dword [ebx + 8], edi
mov eax, dword [0x6754d4]
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.00414e30
lea ecx, [ebp - 0xdc]
call fcn.00414e30
mov eax, dword [0x6754d4]
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.00414e30
mov eax, dword [0x6754d4]
mov dword [ebp - 0x150], 0x5d1124
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.0056f480
test al, al
je 0x491d1d
mov al, byte [esi + 0x4c4]
mov byte [ebp - 0x57], 0
test al, al
mov byte [ebp - 0x11], 0
jne 0x49180e
mov cl, byte [esi + 0x4c5]
test cl, cl
je 0x4918fd
mov cl, byte [esi + 0x4c7]
test cl, cl
je 0x4918fd
mov ecx, dword [ebx + 0x96c]
cmp ecx, 0x7573
je 0x491820
cmp ecx, edi
jne 0x491846
test al, al
je 0x491846
mov al, byte [ebp - 0x10e]
test al, al
je 0x491846
mov al, byte [ebx + 0x2e1]
test al, al
je 0x491846
mov al, byte [ebp - 0x106]
test al, al
je 0x491846
mov byte [ebp - 0x57], 1
cmp ecx, 0x7573
jne 0x4918fd
mov dword [ebx + 0x96c], edi
mov dword [ebx + 0x848], 3
mov eax, dword [ebp - 0x148]
mov byte [ebp - 0x11], 1
mov dword [ebx + 0x408], eax
mov ecx, dword [ebp - 0x144]
mov dword [ebx + 0x40c], ecx
mov edx, dword [ebp - 0x148]
mov dword [ebx + 0x410], edx
mov eax, dword [ebp - 0x144]
mov dword [ebx + 0x414], eax
mov eax, dword [ebx + 0xdc]
cmp eax, edi
je 0x4918b9
push eax
mov byte [ebp - 4], 3
call fcn.00597102
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.005970d9
mov edx, eax
add esp, 4
cmp edx, edi
mov dword [ebx + 0xdc], edx
je 0x4918fd
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 + 0x848]
mov byte [ebp - 0x114], cl
mov eax, dword [ebx + 0x408]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebx + 0x40c]
or eax, ecx
mov dword [ebp - 0x144], ecx
jne 0x49194c
cmp dword [ebx + 0x848], 3
jne 0x49194c
mov eax, dword [ebx + 0x410]
mov ecx, dword [ebx + 0x414]
mov edx, eax
or edx, ecx
je 0x49194c
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], ecx
mov edx, dword [ebx + 0x40]
cmp edx, edi
je 0x491976
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x491976
push edx
lea eax, [ebp - 0xa8]
push 0x64efb0
push eax
call fcn.00593b08
add esp, 0xc
mov ecx, dword [0x6754d4]
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.0052b350
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x68]
push eax
push ecx
call fcn.0057ffb4
add esp, 8
test eax, eax
je 0x4919c7
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0xac]
push edx
push 0x64efb0
push eax
call fcn.00593b08
add esp, 0xc
mov esi, dword [ebp - 0x18]
mov al, byte [esi + 0x51c]
test al, al
jne 0x491a1e
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 [0x6754d4]
mov dword [ebp - 0x70], ecx
mov edi, dword [ebx + 0x96c]
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 0x491a87
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 0x491a8d
cmp al, dl
je 0x491a8d
mov byte [ebp - 0x58], 0
jmp 0x491a95
mov al, byte [ebp - 0x113]
cmp al, 2
je 0x491a9d
cmp al, 1
je 0x491a9d
mov esi, dword [ebp - 0x18]
xor dl, dl
mov byte [ebp - 0x55], dl
test edi, edi
je 0x491db1
cmp edi, 0x7563
je 0x491db1
cmp edi, 0x7540
jne 0x491af3
mov edx, dword [ebx + 0x410]
mov dword [ebp - 0x140], edx
mov eax, dword [ebx + 0x414]
mov dword [ebp - 0x13c], eax
mov al, byte [ebp - 0x112]
cmp al, 5
jne 0x491ae7
mov byte [ebp - 0x112], 3
jmp 0x491b93
mov byte [ebp - 0x113], 1
jmp 0x491b93
cmp al, 2
setne al
dec eax
and al, 0xfd
add eax, 6
cmp ecx, 0x7565
mov byte [ebp - 0x113], al
jne 0x491b15
mov byte [ebp - 0x111], 2
jmp 0x491b27
cmp ecx, 0x7566
setne cl
add ecx, 3
mov byte [ebp - 0x111], cl
test dl, dl
je 0x491b57
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 0x491b67
mov byte [ebp - 0x112], 6
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x491b93
cmp al, 6
jne 0x491b93
mov eax, dword [ebx + 0x97c]
test eax, eax
jne 0x491b93
mov eax, dword [0x67a9b4]
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 + 0x400]
test eax, eax
jne 0x491be4
cmp byte [ebp - 0x112], 3
je 0x491bbb
mov ecx, ebx
call fcn.00551d40
mov ecx, dword [ebx + 0x84c]
xor eax, eax
cmp ecx, eax
je 0x491bd0
mov dword [ebx + 0xc], 1
jmp 0x491be6
cmp ebx, eax
je 0x491be4
mov ecx, ebx
call fcn.0054a0f0
push ebx
call fcn.00597102
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.00553150
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x491c0c
lea eax, [ebp - 0x44]
push 0x5c
push eax
call fcn.0057e85a
add esp, 8
test eax, eax
je 0x491c20
add eax, 2
jmp 0x491c2a
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x491c2a
lea eax, [ebp - 0x44]
mov ebx, dword [ebp + 8]
test ebx, ebx
sete cl
push ecx
push eax
mov ecx, esi
call fcn.00493f40
cmp edi, 0x7540
je 0x491d3f
test eax, eax
je 0x491c73
lea edx, [ebp - 0x150]
mov ecx, esi
push edx
call fcn.00497fc0
test eax, eax
je 0x491c73
lea eax, [ebp - 0x150]
mov ecx, esi
push eax
call fcn.00498230
test eax, eax
jne 0x491d3f
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.00570c10
mov eax, dword [ebp - 0x144]
test eax, eax
jl 0x491cba
jg 0x491ca8
mov ecx, dword [ebp - 0x148]
test ecx, ecx
jbe 0x491cba
mov edx, dword [ebp - 0x148]
push 1
push edi
push eax
push edx
mov ecx, esi
call fcn.00572590
mov al, byte [ebp - 0x111]
test al, al
je 0x491cd5
mov eax, dword [ebp - 0x111]
push 1
push edi
push eax
mov ecx, esi
call fcn.005726e0
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.0059ad3d
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.0059ad3d
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x150]
call fcn.00458730
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.00570c10
mov eax, dword [ebp - 0x144]
test eax, eax
jl 0x491d7f
jg 0x491d6d
mov ecx, dword [ebp - 0x148]
test ecx, ecx
jbe 0x491d7f
push 1
push edi
push eax
mov eax, dword [ebp - 0x148]
push eax
mov ecx, esi
call fcn.00572590
mov al, byte [ebp - 0x111]
test al, al
je 0x491d9a
mov ecx, dword [ebp - 0x111]
push 1
push edi
push ecx
mov ecx, esi
call fcn.005726e0
mov edx, dword [ebx + 0x42c]
push edi
push 0x1426
push 0x111
push edx
jmp 0x491ce7
mov eax, dword [ebp + 8]
test eax, eax
jne 0x491dbf
mov byte [esi + 0x491], 1
mov al, byte [ebp - 0x106]
mov byte [ebp - 0x113], 4
test al, al
je 0x491dd4
mov byte [ebp - 0x49], 1
test dl, dl
je 0x491dfe
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 0x491e16
mov al, byte [ebp - 0x107]
mov byte [ebp - 0x56], 1
test al, al
je 0x491e1a
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 0x491e3c
cmp al, 3
je 0x491e3c
cmp al, 4
jne 0x491e45
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.00570c10
mov eax, dword [ebp - 0x144]
test eax, eax
jl 0x491e88
jg 0x491e76
mov ecx, dword [ebp - 0x148]
test ecx, ecx
jbe 0x491e88
push 1
push esi
push eax
mov eax, dword [ebp - 0x148]
push eax
mov ecx, edi
call fcn.00572590
test bl, bl
je 0x491e9d
mov ecx, dword [ebp - 0x111]
push 1
push esi
push ecx
mov ecx, edi
call fcn.005726e0
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 0x491ed4
mov edx, dword [ebp - 0xf4]
lea ecx, [ebp - 0x80]
push edx
call fcn.00401fc0
mov edi, dword [ebp - 0x50]
xor ebx, ebx
jmp 0x4920a2
mov edi, dword [ebp - 0x50]
cmp dword [edi + 0xcc], ecx
je 0x491efe
cmp dword [edi + 0x5c], ecx
je 0x491efe
mov eax, dword [edi + 0x54]
cmp eax, ecx
jne 0x491eee
lea eax, [edi + 0x58]
push eax
lea ecx, [ebp - 0x80]
call fcn.00401fc0
xor ebx, ebx
jmp 0x4920a2
mov al, byte [ebp - 0x102]
test al, al
mov eax, dword [ebp - 0xf4]
je 0x491f34
push eax
lea ecx, [ebp - 0x80]
call fcn.00401fc0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x491f21
lea eax, [ebp - 0x7c]
mov ecx, dword [ebp - 0x88]
push eax
call fcn.0055c2b0
xor ebx, ebx
jmp 0x4920a2
cmp eax, ecx
jne 0x491f3e
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.00490270
mov esi, eax
cmp esi, ebx
jle 0x4920a2
mov eax, dword [0x6754d4]
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.00414e30
mov eax, dword [0x6754d4]
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.00414e30
mov eax, dword [0x6754d4]
mov dword [ebp - 0x234], 0x5d1124
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.0056f480
test al, al
je 0x492093
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x148]
cmp edx, eax
jne 0x492093
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x144]
cmp eax, ecx
jne 0x492093
mov eax, dword [ebp - 0xe8]
cmp eax, ebx
mov ecx, eax
jne 0x492058
lea ecx, [ebp - 0xe4]
mov eax, dword [ebp - 0x1cc]
cmp eax, ebx
jne 0x492068
lea eax, [ebp - 0x1c8]
push ecx
push eax
call fcn.00580edc
add esp, 8
test eax, eax
jne 0x492093
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x130], esi
mov al, byte [ecx + 0x28f]
test al, al
je 0x492093
mov dword [ebp - 0x6c], ebx
mov byte [ebp - 0x110], 0
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 9
call fcn.00458730
mov eax, dword [ebp - 0x80]
cmp eax, ebx
jne 0x4920ac
lea eax, [ebp - 0x7c]
push 0x5c
push eax
call fcn.0057e85a
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4920c2
add ebx, 2
jmp 0x4920ce
mov eax, dword [ebp - 0x80]
test eax, eax
mov ebx, eax
jne 0x4920ce
lea ebx, [ebp - 0x7c]
push 0x2e
push ebx
call fcn.0057e85a
mov esi, eax
add esp, 8
test esi, esi
je 0x49214c
push 0x654800
push esi
call fcn.00580edc
add esp, 8
test eax, eax
je 0x492103
push 0x6561a4
push esi
call fcn.00580edc
add esp, 8
test eax, eax
jne 0x49214c
mov al, byte [ebp - 0x55]
mov byte [ebp - 0x105], 1
test al, al
jne 0x492118
mov al, byte [ebp - 0x49]
test al, al
jne 0x492139
mov eax, dword [ebp + 8]
test eax, eax
je 0x492132
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x150]
push edx
call fcn.00497ce0
test eax, eax
je 0x492139
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.00570c10
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jge 0x4921ae
mov eax, dword [edi + 0x400]
test eax, eax
jne 0x4936d0
mov ecx, edi
call fcn.00551d40
mov eax, dword [edi + 0x84c]
test eax, eax
je 0x49218a
mov dword [edi + 0xc], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x80]
jmp 0x491cf4
test edi, edi
je 0x4936d0
mov ecx, edi
call fcn.0054a0f0
push edi
call fcn.00597102
add esp, 4
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x80]
jmp 0x491cf4
mov edx, dword [0x6754d4]
mov dword [ebp - 0x74], edx
test esi, esi
mov byte [ebp - 4], 0xb
jne 0x4921c1
mov esi, ebx
push esi
lea ecx, [ebp - 0x84]
call fcn.0059adfd
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.004b5350
mov dword [ebp - 0x11c], eax
mov al, byte [esi + 0x492]
test al, al
jne 0x4936b5
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 0xbc]
push edx
push 0x64efb0
push eax
call fcn.00593b08
mov eax, dword [edi + 0xdc]
add esp, 0xc
test eax, eax
je 0x492239
mov cl, byte [ebp - 0x11]
test cl, cl
jne 0x492239
push eax
lea ecx, [ebp - 0xf8]
push 0x64efb0
push ecx
call fcn.00593b08
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x150]
push edx
push eax
call fcn.00570c10
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x11c]
push 1
push ecx
mov ecx, dword [ebp - 0x54]
push edx
call fcn.005721a0
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x4922aa
mov edx, dword [ebp + 8]
mov ecx, esi
test edx, edx
sete al
push eax
push ebx
call fcn.00493f40
test eax, eax
mov dword [ebp - 0x6c], eax
je 0x4922aa
lea ecx, [ebp - 0x150]
push ecx
mov ecx, esi
call fcn.00497fc0
test eax, eax
mov dword [ebp - 0x6c], eax
je 0x4922aa
lea edx, [ebp - 0x150]
mov ecx, esi
push edx
call fcn.00498230
test eax, eax
mov dword [ebp - 0x6c], eax
jne 0x4922cc
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.00570c10
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x49231e
mov al, byte [ebp - 0x58]
test al, al
je 0x4922fc
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 0x492302
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
mov al, byte [ebp - 0x49]
test al, al
je 0x49231e
mov eax, dword [esi + 0x428]
push 0
push 0x1415
push 0x111
push eax
call ebx
mov al, byte [ebp - 0x113]
test al, al
je 0x492dcf
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x4923e8
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 0x492363
mov al, byte [ebp - 0x57]
test al, al
je 0x4923ff
cmp dword [edi + 0x848], 3
jne 0x4923ff
mov eax, dword [edi + 0xcc]
test eax, eax
jne 0x49238a
mov al, byte [ebp - 0x11]
test al, al
jne 0x49238a
push 0
mov ecx, edi
call fcn.0054e9e0
mov byte [ebp - 0x112], 4
mov eax, dword [edi + 0x400]
test eax, eax
jne 0x4923a2
mov ecx, edi
call fcn.00551d40
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.00570c10
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x111]
mov ecx, dword [ebp - 0x54]
push 1
push edx
push eax
call fcn.005726e0
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x42c]
push ecx
push 0x1426
push 0x111
push edx
jmp 0x4923fd
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 + 0x848]
mov al, byte [ebp - 0x112]
cmp ecx, 3
je 0x49247f
cmp al, 5
je 0x49242f
mov dl, byte [esi + 0x290]
test dl, dl
je 0x49245e
mov edx, dword [ebp - 0x6c]
xor esi, esi
cmp edx, esi
je 0x492460
jmp 0x492431
xor esi, esi
mov dl, byte [ebp - 0x49]
test dl, dl
je 0x492460
mov edx, dword [edi + 0x408]
mov ebx, dword [edi + 0x40c]
or edx, ebx
jne 0x492460
mov edx, dword [edi + 0x410]
mov ebx, dword [edi + 0x414]
or edx, ebx
jne 0x492460
cmp ecx, esi
je 0x492481
jmp 0x492460
xor esi, esi
cmp al, 5
je 0x492473
cmp dword [edi + 0x400], esi
jne 0x492473
mov ecx, edi
call fcn.00551d40
mov byte [ebp - 0x112], 1
jmp 0x492d38
xor esi, esi
cmp al, 5
jne 0x492512
cmp dword [edi + 0xcc], esi
jne 0x4924a0
mov al, byte [ebp - 0x11]
test al, al
jne 0x4924a0
push esi
mov ecx, edi
call fcn.0054e9e0
mov byte [ebp - 0x112], 4
mov eax, dword [edi + 0x400]
cmp eax, esi
jne 0x4924b8
mov ecx, edi
call fcn.00551d40
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.00570c10
mov ecx, dword [ebp - 0x111]
push 1
push ebx
push ecx
mov ecx, esi
call fcn.005726e0
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x492d27
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 0x492d27
cmp al, 4
je 0x49251d
mov byte [ebp - 0x112], 2
mov al, byte [ebp + 0xc]
test al, al
je 0x492c0e
mov al, byte [ebp - 0x11]
test al, al
jne 0x492c0e
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 0x492684
push 9
push 0x651ed8
push eax
call fcn.00580b90
add esp, 0xc
test eax, eax
jne 0x492684
mov esi, dword [edi + 0x50]
test esi, esi
je 0x4927fc
mov edx, 0x64f030
test edx, edx
je 0x4927fc
test esi, esi
je 0x4927fc
mov eax, 0x6561a4
test eax, eax
je 0x4927fc
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.004028e0
push esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.00403bb0
mov bl, 0xf
push 0x6561a4
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call fcn.00403bb0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.00401070
mov edi, dword [ebp - 0x24]
test edi, edi
jne 0x4925df
lea edi, [ebp - 0x20]
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x48]
call fcn.00401fb0
push eax
call fcn.0057e90a
mov edx, eax
push edi
mov dword [ebp + 0xc], edx
call fcn.0057e90a
mov ecx, dword [ebp + 0xc]
add esi, ecx
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005970d9
mov edx, eax
add esp, 0xc
test edx, edx
mov dword [ebp - 0x30], edx
je 0x492661
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.00401fb0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0x30]
push esi
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0057e90a
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 0x4927f4
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
mov word [ebp - 0x44], si
mov eax, dword [0x679ca8]
lea edx, [ebp - 0x48]
push 1
add eax, 0x674
push edx
push eax
mov ecx, edi
mov byte [ebp - 4], 0x11
call fcn.00553150
mov eax, dword [ebp - 0x48]
cmp eax, esi
jne 0x4926b4
lea eax, [ebp - 0x44]
push 0x2e
push eax
call fcn.0057e85a
mov edi, eax
xor ebx, ebx
add esp, 8
cmp edi, ebx
je 0x4927de
mov ecx, dword [ebp - 0x50]
mov edx, 0x64f030
test edx, edx
mov esi, dword [ecx + 0x50]
je 0x4927ed
cmp esi, ebx
je 0x4927ed
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.004028e0
push esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x12
call fcn.00403bb0
push edi
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x13
call fcn.00403bb0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov edi, dword [ebp - 0x24]
cmp edi, ebx
jne 0x49272d
lea edi, [ebp - 0x20]
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x160]
call fcn.00401fb0
push eax
call fcn.0057e90a
mov edx, eax
push edi
mov dword [ebp + 0xc], edx
call fcn.0057e90a
mov ecx, dword [ebp + 0xc]
add esi, ecx
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005970d9
mov edx, eax
add esp, 0xc
cmp edx, ebx
mov dword [ebp - 0x30], edx
je 0x4927b5
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.00401fb0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0x30]
push esi
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0057e90a
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 0x4927ed
mov edx, dword [ebp - 0x50]
lea ecx, [ebp - 0x30]
mov eax, dword [edx + 0x50]
push eax
call fcn.00401fc0
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 0x492806
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [edi + 0x50]
push eax
call fcn.005815c4
mov eax, dword [ebp - 0x30]
add esp, 8
test eax, eax
jne 0x49281d
lea eax, [ebp - 0x2c]
push 0x5c
push eax
call fcn.0057e85a
mov esi, eax
add esp, 8
test esi, esi
je 0x492a97
add esi, 2
cmp word [esi], 0
je 0x492a97
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 0x492860
mov edi, eax
jmp 0x492869
mov eax, dword [ebp - 0x18]
lea edi, [eax + 0x438]
mov edx, 0x64f030
test edx, edx
je 0x492988
xor ebx, ebx
cmp edi, ebx
je 0x49298a
cmp esi, ebx
je 0x49298a
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.004028e0
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.00401fc0
push esi
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x17
call fcn.00403bb0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x18
call fcn.00401070
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x160]
call fcn.00401fb0
push eax
call fcn.0057e90a
add esp, 4
lea ecx, [ebp - 0x3c]
mov edi, eax
call fcn.00401fb0
push eax
call fcn.0057e90a
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005970d9
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x48], edx
je 0x49295c
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.00401fb0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401fb0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0x48]
push esi
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0057e90a
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 0x49298a
xor ebx, ebx
cmp ecx, ebx
jne 0x492991
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 0x30]
cmp eax, ebx
jne 0x49299b
lea eax, [ebp - 0x2c]
push ecx
push eax
call fcn.005815c4
add esp, 8
test eax, eax
jne 0x492a88
mov eax, dword [ebp - 0x48]
cmp eax, ebx
jne 0x4929b7
lea eax, [ebp - 0x44]
mov edx, 0x64efb0
test edx, edx
je 0x492a88
cmp eax, ebx
je 0x492a88
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x38], bx
call fcn.00401fc0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x19
call fcn.00401070
push ebx
push 0x64efb0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x20], bx
call fcn.004028e0
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1a
call fcn.00401fb0
push eax
call fcn.0057e90a
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005970d9
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x30], edx
je 0x492a70
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.00401fb0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0x30]
push esi
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0057e90a
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 0x492aa1
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.004181b0
mov ecx, dword [ebp - 0xac]
cmp dword [ecx - 8], 5
jle 0x492af2
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x492adc
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.004181b0
mov eax, dword [ebp - 0x30]
mov byte [ebp - 0x108], 1
test eax, eax
jne 0x492b03
lea eax, [ebp - 0x2c]
mov ecx, 0x64efb0
test ecx, ecx
je 0x492bea
test eax, eax
je 0x492bea
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.00401fc0
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 0x64efb0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x20], ax
call fcn.004028e0
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1c
call fcn.00401fb0
push eax
call fcn.0057e90a
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005970d9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0xb8], edx
je 0x492bd0
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.00401fb0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0xb8]
push esi
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.0057e90a
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.00570c10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xc
call fcn.00401070
jmp 0x492d27
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x492d27
mov al, byte [ebp - 0x11]
test al, al
jne 0x492d27
mov ecx, dword [edi + 0x50]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, 0x64efb0
mov byte [ebp - 0x108], 1
test edx, edx
je 0x492d14
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.00401fc0
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 0x64efb0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x20], ax
call fcn.004028e0
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1e
call fcn.00401fb0
push eax
call fcn.0057e90a
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005970d9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0xb8], edx
je 0x492cfa
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.00401fb0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0xb8]
push esi
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.0057e90a
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.00570c10
mov eax, dword [edi + 0x400]
test eax, eax
jne 0x492d38
mov ecx, edi
call fcn.00551d40
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0x510]
test eax, eax
je 0x492d5a
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 0x492d79
mov edx, dword [esi + 0x564]
push esi
push 0
push 0x13fc
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [edi + 0x400]
test eax, eax
jne 0x492dbf
mov ecx, edi
call fcn.00551d40
mov eax, dword [edi + 0x84c]
test eax, eax
je 0x492dab
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x150]
push eax
mov dword [edi + 0xc], 1
push ecx
jmp 0x4936ad
test edi, edi
je 0x492dbf
mov ecx, edi
call fcn.0054a0f0
push edi
call fcn.00597102
add esp, 4
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x150]
push eax
push ecx
jmp 0x4936ad
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 0x112], 2
test eax, eax
jne 0x492df4
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, 0x64f030
test ecx, ecx
je 0x492f1d
test esi, esi
je 0x492f1d
mov edx, 0x6561a4
test edx, edx
je 0x492f1d
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.004028e0
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.00401fc0
mov bl, 0x20
push 0x6561a4
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
call fcn.00403bb0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x21
call fcn.00401070
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x160]
call fcn.00401fb0
push eax
call fcn.0057e90a
add esp, 4
lea ecx, [ebp - 0x24]
mov edi, eax
call fcn.00401fb0
push eax
call fcn.0057e90a
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005970d9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x64], edx
je 0x492ef4
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.00401fb0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0x64]
push esi
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.0057e90a
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 0x492fb9
mov eax, dword [0x6526c0]
test eax, eax
je 0x492f51
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x492f3b
lea ecx, [ebp - 0x60]
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x492f4b
lea eax, [ebp - 0xf0]
push 0
push ecx
push eax
jmp 0x492fca
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x492f61
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x88]
call fcn.0059adfd
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0x22
test eax, eax
jne 0x492f7b
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x154]
call fcn.0059adfd
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.0059ad3d
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xc
call fcn.0059ad3d
jmp 0x492fd0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x492fc3
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 0x492fe4
mov al, byte [ebp - 0x57]
test al, al
je 0x492fef
mov eax, dword [ebp - 0x6c]
test eax, eax
jne 0x493117
mov al, byte [ebp - 0x56]
test al, al
jne 0x493117
test bl, bl
je 0x49301b
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x49300e
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, 0x64efb0
test ecx, ecx
je 0x493102
test eax, eax
je 0x493102
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.00401fc0
mov bl, 0x23
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], bl
call fcn.00401070
push esi
push 0x64efb0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov word [ebp - 0x20], si
call fcn.004028e0
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0x24
cmp eax, esi
jne 0x49307e
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0x1c]
push eax
call fcn.0057e90a
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005970d9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0xdc], edx
je 0x4930eb
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.00401fb0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0xdc]
push esi
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0057e90a
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.00570c10
jmp 0x493170
test bl, bl
jne 0x493124
push 0
mov ecx, edi
call fcn.0054e9e0
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.00570c10
mov edx, dword [ebp - 0x111]
push 1
push edi
push edx
mov ecx, ebx
call fcn.005726e0
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 0x49355e
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x493185
lea eax, [ebp - 0x60]
push 0x5c
push eax
call fcn.0057e85a
mov esi, eax
add esp, 8
test esi, esi
je 0x493409
add esi, 2
cmp word [esi], 0
je 0x493409
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 0x4931ca
mov edi, eax
jmp 0x4931d0
add edi, 0x438
mov edx, 0x64f030
test edx, edx
je 0x4932e9
cmp edi, ebx
je 0x4932e9
cmp esi, ebx
je 0x4932e9
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.004028e0
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.00401fc0
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.00401fc0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x28
call fcn.00401070
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
call fcn.0057e90a
add esp, 4
lea ecx, [ebp - 0x3c]
mov edi, eax
call fcn.00401fb0
push eax
call fcn.0057e90a
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005970d9
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x48], edx
je 0x4932c2
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.00401fb0
push eax
lea ecx, [ebp - 0x3c]
call fcn.00401fb0
push eax
lea ecx, [ebp - 0x30]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0x48]
push esi
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0057e90a
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 0x4932f0
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 0x64]
cmp eax, ebx
jne 0x4932fa
lea eax, [ebp - 0x60]
push ecx
push eax
call fcn.005815c4
add esp, 8
test eax, eax
jne 0x4933fd
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x493316
lea eax, [ebp - 0x44]
mov edx, 0x64efb0
test edx, edx
je 0x4933eb
test eax, eax
je 0x4933eb
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.00401fc0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x29
call fcn.00401070
push esi
push 0x64efb0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov word [ebp - 0x20], si
call fcn.004028e0
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0x2a
cmp eax, esi
jne 0x493372
lea eax, [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
push eax
call fcn.0057e90a
lea ebx, [eax + esi + 2]
lea esi, [ebx + ebx]
push esi
call fcn.005970d9
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0x64], edi
je 0x4933d3
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 0x4933b0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00401fb0
push eax
mov eax, dword [ebp - 0x64]
push ebx
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.0057e90a
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 + 0x400]
test eax, eax
jne 0x4933fd
call fcn.00551d40
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc
call fcn.00401070
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x493413
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.004181b0
mov ecx, dword [ebp - 0xac]
cmp dword [ecx - 8], 5
jle 0x493467
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x493451
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.004181b0
mov eax, dword [ebp - 0x64]
mov byte [ebp - 0x108], 1
test eax, eax
jne 0x493478
lea eax, [ebp - 0x60]
mov ecx, 0x64efb0
test ecx, ecx
je 0x493660
test eax, eax
je 0x493660
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.00401fc0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x2b
call fcn.00401070
push esi
push 0x64efb0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
mov word [ebp - 0x2c], si
call fcn.004028e0
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0x2c
cmp eax, esi
jne 0x4934d7
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0x28]
push eax
call fcn.0057e90a
lea ebx, [eax + esi + 2]
lea esi, [ebx + ebx]
push esi
call fcn.005970d9
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0xb8], edi
je 0x493546
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 0x493518
lea eax, [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x493522
lea ecx, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0xb8]
push ecx
push ebx
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.0057e90a
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 0x49365b
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x493660
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x400]
test eax, eax
jne 0x49357b
call fcn.00551d40
mov edx, 0x64efb0
mov byte [ebp - 0x108], 1
test edx, edx
je 0x493660
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.00401fc0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x2d
call fcn.00401070
push esi
push 0x64efb0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.004028e0
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0x2e
cmp eax, esi
jne 0x4935d9
lea eax, [ebp - 0x2c]
mov esi, dword [ebp - 0x34]
push eax
call fcn.0057e90a
lea ebx, [eax + esi + 2]
lea esi, [ebx + ebx]
push esi
call fcn.005970d9
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0xb8], edi
je 0x493648
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 0x49361a
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
jne 0x493624
lea ecx, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0xb8]
push ecx
push ebx
push eax
call fcn.0057e89a
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.0057e90a
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 + 0x400]
test eax, eax
jne 0x49369b
mov ecx, esi
call fcn.00551d40
mov eax, dword [esi + 0x84c]
test eax, eax
je 0x493687
mov dword [esi + 0xc], 1
jmp 0x49369b
test esi, esi
je 0x49369b
mov ecx, esi
call fcn.0054a0f0
push esi
call fcn.00597102
add esp, 4
mov al, byte [ebp - 0x56]
test al, al
je 0x4936dc
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x150]
push edx
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00570c10
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xb
call fcn.0059ad3d
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 9
call fcn.0059ad3d
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x80]
jmp 0x491cf4
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.00570c10
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.0059ad3d
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 9
call fcn.0059ad3d
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x80]
jmp 0x491cf4