Function at 0x4c0540
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x621d6b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2f4
mov al, byte [ecx + 0x47a]
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 0x4c0d1b
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x44], ebx
cmp edx, dword [ecx + 0x51c]
jge 0x4c05ff
mov eax, dword [ecx + 0x518]
mov ecx, dword [ebp + 8]
lea esi, [edx*8]
add eax, esi
cmp dword [eax], ecx
jne 0x4c06f1
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x44], ebx
mov edi, 1
mov eax, dword [ecx + 0x51c]
mov ecx, dword [ecx + 0x518]
sub eax, edx
dec eax
add ecx, esi
mov esi, edi
dec edi
test esi, esi
je 0x4c05ce
add ecx, 8
jmp 0x4c05c2
mov esi, dword [ebp - 0x18]
test eax, eax
je 0x4c05f0
mov ecx, dword [esi + 0x518]
shl eax, 3
push eax
lea eax, [ecx + edx*8 + 8]
lea ecx, [ecx + edx*8]
push eax
push ecx
call fcn.005e8260
add esp, 0xc
mov eax, dword [esi + 0x51c]
dec eax
xor edi, edi
mov dword [esi + 0x51c], eax
cmp ebx, edi
jne 0x4c0709
mov eax, dword [0x6cd768]
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], edi
mov dword [ebp - 0x29c], edi
mov word [ebp - 0x2a0], di
call fcn.0041cab0
lea ecx, [ebp - 0x28c]
call fcn.0041cab0
mov eax, dword [0x6cd768]
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x280], eax
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
call fcn.0041cab0
mov eax, dword [0x6cd768]
mov dword [ebp - 0x300], 0x636674
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x24c], edi
mov dword [ebp - 0x240], edi
mov dword [ebp - 0x23c], edi
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x300]
push edi
push edx
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 1
call fcn.005d7f10
test al, al
je 0x4c06e2
mov eax, dword [ebp - 0x2e8]
cmp eax, edi
je 0x4c06e2
push eax
mov ecx, esi
call fcn.004cea00
mov ebx, eax
cmp ebx, edi
mov dword [ebp - 0x44], ebx
jne 0x4c06fa
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x300]
jmp 0x4c0d16
mov ecx, dword [ebp - 0x18]
inc edx
jmp 0x4c0581
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0
call fcn.00476b90
mov dword [ebx + 8], edi
mov eax, dword [0x6cd768]
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xf0], edi
mov word [ebp - 0xf4], di
call fcn.0041cab0
lea ecx, [ebp - 0xe0]
call fcn.0041cab0
mov eax, dword [0x6cd768]
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xd4], eax
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
call fcn.0041cab0
mov eax, dword [0x6cd768]
mov dword [ebp - 0x154], 0x636674
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x90], edi
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x154]
push edi
push ecx
push edx
lea ecx, [esi + 8]
mov byte [ebp - 4], 2
call fcn.005d7f10
test al, al
je 0x4c0d0c
mov al, byte [esi + 0x4ac]
mov byte [ebp - 0x55], 0
test al, al
mov byte [ebp - 0x11], 0
jne 0x4c07fe
mov cl, byte [esi + 0x4ad]
test cl, cl
je 0x4c08ed
mov cl, byte [esi + 0x4af]
test cl, cl
je 0x4c08ed
mov ecx, dword [ebx + 0xa4c]
cmp ecx, 0x7573
je 0x4c0810
cmp ecx, edi
jne 0x4c0836
test al, al
je 0x4c0836
mov al, byte [ebp - 0x112]
test al, al
je 0x4c0836
mov al, byte [ebx + 0x33f]
test al, al
je 0x4c0836
mov al, byte [ebp - 0x10a]
test al, al
je 0x4c0836
mov byte [ebp - 0x55], 1
cmp ecx, 0x7573
jne 0x4c08ed
mov dword [ebx + 0xa4c], edi
mov dword [ebx + 0x8d4], 3
mov eax, dword [ebp - 0x14c]
mov byte [ebp - 0x11], 1
mov dword [ebx + 0x488], eax
mov ecx, dword [ebp - 0x148]
mov dword [ebx + 0x48c], ecx
mov edx, dword [ebp - 0x14c]
mov dword [ebx + 0x490], edx
mov eax, dword [ebp - 0x148]
mov dword [ebx + 0x494], eax
mov eax, dword [ebx + 0xdc]
cmp eax, edi
je 0x4c08a9
push eax
mov byte [ebp - 4], 3
call fcn.005ffe68
add esp, 4
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 4], 2
xor edi, edi
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx - 8]
inc eax
push eax
call fcn.005ffe3f
mov edx, eax
add esp, 4
cmp edx, edi
mov dword [ebx + 0xdc], edx
je 0x4c08ed
mov edi, dword [ebp - 0xfc]
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 + 0x8d4]
mov byte [ebp - 0x118], cl
mov eax, dword [ebx + 0x488]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebx + 0x48c]
or eax, ecx
mov dword [ebp - 0x148], ecx
jne 0x4c093c
cmp dword [ebx + 0x8d4], 3
jne 0x4c093c
mov eax, dword [ebx + 0x490]
mov ecx, dword [ebx + 0x494]
mov edx, eax
or edx, ecx
je 0x4c093c
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], ecx
mov edx, dword [ebx + 0x40]
cmp edx, edi
je 0x4c0966
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4c0966
push edx
lea eax, [ebp - 0xac]
push 0x6a10a0
push eax
call fcn.005fc86b
add esp, 0xc
mov ecx, dword [0x6cd768]
mov dword [ebp - 0x6c], ecx
xor esi, esi
lea edx, [ebp - 0x6c]
lea ecx, [ebx + 0x20]
push esi
push edx
mov byte [ebp - 4], 5
mov dword [ebp - 0x8c], ecx
call fcn.00582290
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x6c]
push eax
push ecx
call fcn.005e897a
add esp, 8
test eax, eax
je 0x4c09b7
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0xb0]
push edx
push 0x6a10a0
push eax
call fcn.005fc86b
add esp, 0xc
mov edi, dword [ebp - 0x18]
mov al, byte [edi + 0x504]
test al, al
jne 0x4c0a0e
mov eax, dword [edi + 0x418]
mov ecx, dword [edi + 0x4b0]
lea edx, [ebp - 0x16c]
mov dword [ebp - 0x16c], esi
push edx
push 0x13c1
push 0x111
push eax
mov dword [ebp - 0x164], 0x190
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x15c], 0xfffffffb
mov dword [ebp - 0x168], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x5c], esi
mov word [ebp - 0x60], si
mov ecx, dword [0x6cd768]
mov dword [ebp - 0x74], ecx
mov esi, dword [ebx + 0xa4c]
mov al, byte [ebp - 0x10a]
mov ecx, esi
mov dl, 1
test al, al
mov byte [ebp - 4], 7
mov dword [ebp - 0x12c], ecx
mov byte [ebp - 0x65], 1
mov byte [ebp - 0x3e], 0
mov byte [ebp - 0x56], dl
je 0x4c0a77
mov eax, dword [edi + 0x4e4]
inc eax
mov dword [edi + 0x4e4], eax
mov al, byte [ebp - 0x10b]
test al, al
mov al, byte [ebp - 0x117]
jne 0x4c0a7d
cmp al, dl
je 0x4c0a7d
mov byte [ebp - 0x65], 0
jmp 0x4c0a85
mov al, byte [ebp - 0x117]
cmp al, 2
je 0x4c0a8d
cmp al, 1
je 0x4c0a8d
mov edi, dword [ebp - 0x18]
xor dl, dl
mov byte [ebp - 0x56], dl
test esi, esi
je 0x4c0d9d
cmp esi, 0x7563
je 0x4c0d9d
cmp esi, 0x7540
jne 0x4c0ae3
mov edx, dword [ebx + 0x490]
mov dword [ebp - 0x144], edx
mov eax, dword [ebx + 0x494]
mov dword [ebp - 0x140], eax
mov al, byte [ebp - 0x116]
cmp al, 5
jne 0x4c0ad7
mov byte [ebp - 0x116], 3
jmp 0x4c0b83
mov byte [ebp - 0x117], 1
jmp 0x4c0b83
cmp al, 2
setne al
dec eax
and al, 0xfd
add eax, 6
cmp ecx, 0x7565
mov byte [ebp - 0x117], al
jne 0x4c0b05
mov byte [ebp - 0x115], 2
jmp 0x4c0b17
cmp ecx, 0x7566
setne cl
add ecx, 3
mov byte [ebp - 0x115], cl
test dl, dl
je 0x4c0b47
mov ecx, dword [edi + 0x4ec]
mov edx, dword [edi + 0x414]
push 0
push 0x1430
inc ecx
push 0x111
push edx
mov dword [edi + 0x4ec], ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov al, byte [ebp - 0x117]
cmp byte [ebp - 0x116], 5
jne 0x4c0b57
mov byte [ebp - 0x116], 6
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x4c0b83
cmp al, 6
jne 0x4c0b83
mov eax, dword [ebx + 0xa5c]
test eax, eax
jne 0x4c0b83
mov eax, dword [0x6d2fb4]
mov ecx, dword [ebx + 0xc8]
push 0x30
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov byte [ebp - 0x10b], 0
mov byte [ebp - 0x10a], 0
mov eax, dword [ebx + 0x480]
test eax, eax
jne 0x4c0bd6
cmp byte [ebp - 0x116], 3
je 0x4c0bab
mov ecx, ebx
call fcn.005b4f50
mov eax, dword [ebx + 0x8d8]
test eax, eax
je 0x4c0bc2
push ebx
mov ecx, 0x6d2388
call fcn.00436300
jmp 0x4c0bd6
test ebx, ebx
je 0x4c0bd6
mov ecx, ebx
call fcn.005aa9a0
push ebx
call fcn.005ffe68
add esp, 4
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov word [ebp - 0x38], ax
lea edx, [ebp - 0x3c]
push 1
push edx
push eax
mov ecx, ebx
mov byte [ebp - 4], 8
call fcn.005b6570
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x4c0bfe
lea eax, [ebp - 0x38]
push 0x5c
push eax
call fcn.005e710f
add esp, 8
test eax, eax
je 0x4c0c12
add eax, 2
jmp 0x4c0c1c
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x4c0c1c
lea eax, [ebp - 0x38]
mov ebx, dword [ebp + 8]
test ebx, ebx
sete cl
push ecx
push eax
mov ecx, edi
call fcn.004c2f90
cmp esi, 0x7540
je 0x4c0d2e
test eax, eax
je 0x4c0c65
lea edx, [ebp - 0x154]
mov ecx, edi
push edx
call fcn.004c7280
test eax, eax
je 0x4c0c65
lea eax, [ebp - 0x154]
mov ecx, edi
push eax
call fcn.004c74f0
test eax, eax
jne 0x4c0d2e
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x154]
lea esi, [edi + 8]
push ecx
push ebx
mov ecx, esi
mov byte [ebp - 0x114], 0
call fcn.005d96a0
mov eax, dword [ebp - 0x148]
test eax, eax
jl 0x4c0ca9
jg 0x4c0c97
mov ecx, dword [ebp - 0x14c]
test ecx, ecx
jbe 0x4c0ca9
mov edx, dword [ebp - 0x14c]
push 1
push ebx
push eax
push edx
mov ecx, esi
call fcn.005db020
mov al, byte [ebp - 0x115]
test al, al
je 0x4c0cc4
mov eax, dword [ebp - 0x115]
push 1
push ebx
push eax
mov ecx, esi
call fcn.005db170
mov ecx, dword [edi + 0x414]
push ebx
push 0x13fe
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3c]
call fcn.00401070
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 6
call fcn.00603a3c
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call fcn.00401070
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 2
call fcn.00603a3c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x154]
call fcn.00476b90
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 + 8]
lea edx, [ebp - 0x154]
lea esi, [edi + 8]
push edx
push ebx
mov ecx, esi
call fcn.005d96a0
mov eax, dword [ebp - 0x148]
test eax, eax
jl 0x4c0d6b
jg 0x4c0d59
mov ecx, dword [ebp - 0x14c]
test ecx, ecx
jbe 0x4c0d6b
push 1
push ebx
push eax
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, esi
call fcn.005db020
mov al, byte [ebp - 0x115]
test al, al
je 0x4c0d86
mov ecx, dword [ebp - 0x115]
push 1
push ebx
push ecx
mov ecx, esi
call fcn.005db170
mov edx, dword [edi + 0x414]
push ebx
push 0x1426
push 0x111
push edx
jmp 0x4c0cd6
mov eax, dword [ebp + 8]
test eax, eax
jne 0x4c0dab
mov byte [edi + 0x479], 1
mov al, byte [ebp - 0x10a]
mov byte [ebp - 0x117], 4
test al, al
je 0x4c0dc0
mov byte [ebp - 0x3e], 1
test dl, dl
je 0x4c0dea
mov eax, dword [edi + 0x4ec]
push 0
inc eax
push 0x1430
mov dword [edi + 0x4ec], eax
mov eax, dword [edi + 0x414]
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov al, byte [ebp - 0x10a]
test al, al
je 0x4c0e02
mov al, byte [ebp - 0x10b]
mov byte [ebp - 0x3d], 1
test al, al
je 0x4c0e06
mov byte [ebp - 0x3d], 0
mov al, byte [ebp - 0x115]
xor bl, bl
cmp al, 2
mov byte [ebp - 0x10b], 0
mov byte [ebp - 0x10a], 0
je 0x4c0e28
cmp al, 3
je 0x4c0e28
cmp al, 4
jne 0x4c0e31
mov bl, 1
mov byte [ebp - 0x115], 0
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp + 8]
lea edx, [ebp - 0x154]
lea edi, [ecx + 8]
push edx
push esi
mov ecx, edi
mov dword [ebp - 0x54], edi
call fcn.005d96a0
mov eax, dword [ebp - 0x148]
test eax, eax
jl 0x4c0e74
jg 0x4c0e62
mov ecx, dword [ebp - 0x14c]
test ecx, ecx
jbe 0x4c0e74
push 1
push esi
push eax
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, edi
call fcn.005db020
test bl, bl
je 0x4c0e89
mov ecx, dword [ebp - 0x115]
push 1
push esi
push ecx
mov ecx, edi
call fcn.005db170
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x80], ecx
mov word [ebp - 0x84], cx
mov al, byte [ebp - 0x11]
mov byte [ebp - 4], 9
test al, al
mov dword [ebp - 0x70], 1
je 0x4c0ec9
mov edx, dword [ebp - 0xf8]
lea ecx, [ebp - 0x88]
push edx
call fcn.00402410
mov edi, dword [ebp - 0x44]
xor ebx, ebx
jmp 0x4c10a6
mov edi, dword [ebp - 0x44]
cmp dword [edi + 0xcc], ecx
je 0x4c0ef6
cmp dword [edi + 0x5c], ecx
je 0x4c0ef6
mov eax, dword [edi + 0x54]
cmp eax, ecx
jne 0x4c0ee3
lea eax, [edi + 0x58]
push eax
lea ecx, [ebp - 0x88]
call fcn.00402410
xor ebx, ebx
jmp 0x4c10a6
mov al, byte [ebp - 0x106]
test al, al
mov eax, dword [ebp - 0xf8]
je 0x4c0f35
push eax
lea ecx, [ebp - 0x88]
call fcn.00402410
mov eax, dword [ebp - 0x88]
test eax, eax
jne 0x4c0f22
lea eax, [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
push eax
call fcn.005c3db0
xor ebx, ebx
jmp 0x4c10a6
cmp eax, ecx
jne 0x4c0f3f
lea eax, [ebp - 0xf4]
mov edx, dword [ebp + 8]
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x88]
push eax
push ecx
mov ecx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0x154]
push edi
push eax
call fcn.004bf1d0
mov esi, eax
cmp esi, ebx
jle 0x4c10a6
mov eax, dword [0x6cd768]
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], ebx
mov dword [ebp - 0x1d4], ebx
mov word [ebp - 0x1d8], bx
mov dword [ebp - 0x1d0], ebx
mov dword [ebp - 0x1c8], ebx
mov word [ebp - 0x1cc], bx
call fcn.0041cab0
mov eax, dword [0x6cd768]
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x1b8], eax
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
call fcn.0041cab0
mov eax, dword [0x6cd768]
mov dword [ebp - 0x238], 0x636674
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], ebx
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x174], ebx
lea ecx, [ebp - 0x238]
push ebx
push ecx
mov ecx, dword [ebp - 0x54]
push esi
mov byte [ebp - 4], 0xa
call fcn.005d7f10
test al, al
je 0x4c1097
mov edx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x14c]
cmp edx, eax
jne 0x4c1097
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x148]
cmp eax, ecx
jne 0x4c1097
mov eax, dword [ebp - 0xec]
cmp eax, ebx
mov ecx, eax
jne 0x4c105c
lea ecx, [ebp - 0xe8]
mov eax, dword [ebp - 0x1d0]
cmp eax, ebx
jne 0x4c106c
lea eax, [ebp - 0x1cc]
push ecx
push eax
call fcn.005e985c
add esp, 8
test eax, eax
jne 0x4c1097
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x134], esi
mov al, byte [ecx + 0x28f]
test al, al
je 0x4c1097
mov dword [ebp - 0x70], ebx
mov byte [ebp - 0x114], 0
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 9
call fcn.00476b90
mov eax, dword [ebp - 0x88]
cmp eax, ebx
jne 0x4c10b6
lea eax, [ebp - 0x84]
push 0x5c
push eax
call fcn.005e710f
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4c10cc
add ebx, 2
jmp 0x4c10de
mov eax, dword [ebp - 0x88]
test eax, eax
mov ebx, eax
jne 0x4c10de
lea ebx, [ebp - 0x84]
push 0x2e
push ebx
call fcn.005e710f
mov esi, eax
add esp, 8
test esi, esi
je 0x4c115c
push 0x6a7b1c
push esi
call fcn.005e985c
add esp, 8
test eax, eax
je 0x4c1113
push 0x6a9440
push esi
call fcn.005e985c
add esp, 8
test eax, eax
jne 0x4c115c
mov al, byte [ebp - 0x56]
mov byte [ebp - 0x109], 1
test al, al
jne 0x4c1128
mov al, byte [ebp - 0x3e]
test al, al
jne 0x4c1149
mov eax, dword [ebp + 8]
test eax, eax
je 0x4c1142
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x154]
push edx
call fcn.004c6fa0
test eax, eax
je 0x4c1149
mov byte [ebp - 0x117], 0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x154]
push eax
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.005d96a0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jge 0x4c11c8
mov eax, dword [edi + 0x480]
test eax, eax
jne 0x4c271e
mov ecx, edi
call fcn.005b4f50
mov eax, dword [edi + 0x8d8]
test eax, eax
je 0x4c11a1
push edi
mov ecx, 0x6d2388
call fcn.00436300
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x88]
jmp 0x4c0ce3
test edi, edi
je 0x4c271e
mov ecx, edi
call fcn.005aa9a0
push edi
call fcn.005ffe68
add esp, 4
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x88]
jmp 0x4c0ce3
mov edx, dword [0x6cd768]
mov dword [ebp - 0x78], edx
test esi, esi
mov byte [ebp - 4], 0xb
jne 0x4c11db
mov esi, ebx
lea eax, [ebp - 0x7c]
push esi
push eax
call fcn.00402500
add esp, 8
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xc
push ecx
push edx
lea ecx, [esi + 0x10]
call fcn.004e6d30
mov dword [ebp - 0x120], eax
mov al, byte [esi + 0x47a]
test al, al
jne 0x4c2706
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0xc0]
push eax
push 0x6a10a0
push ecx
call fcn.005fc86b
mov eax, dword [edi + 0xdc]
add esp, 0xc
test eax, eax
je 0x4c1251
mov cl, byte [ebp - 0x11]
test cl, cl
jne 0x4c1251
push eax
lea edx, [ebp - 0xfc]
push 0x6a10a0
push edx
call fcn.005fc86b
add esp, 0xc
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x154]
push eax
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.005d96a0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x54]
push 1
push edx
push eax
call fcn.005dac30
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4c12c2
mov eax, dword [ebp + 8]
test eax, eax
sete cl
push ecx
push ebx
mov ecx, esi
call fcn.004c2f90
test eax, eax
mov dword [ebp - 0x70], eax
je 0x4c12c2
lea edx, [ebp - 0x154]
mov ecx, esi
push edx
call fcn.004c7280
test eax, eax
mov dword [ebp - 0x70], eax
je 0x4c12c2
lea eax, [ebp - 0x154]
mov ecx, esi
push eax
call fcn.004c74f0
test eax, eax
mov dword [ebp - 0x70], eax
jne 0x4c12e4
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x154]
push ecx
mov ecx, dword [ebp - 0x54]
push edx
mov byte [ebp - 0x114], 0
call fcn.005d96a0
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x4c1338
mov al, byte [ebp - 0x65]
test al, al
je 0x4c1316
mov edx, dword [esi + 0x4d8]
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
inc edx
mov eax, edx
mov dword [esi + 0x4d8], edx
push eax
mov eax, dword [esi + 0x414]
push 0x1401
push 0x111
push eax
call ebx
jmp 0x4c131c
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
mov al, byte [ebp - 0x3e]
test al, al
je 0x4c1338
mov ecx, dword [esi + 0x410]
push 0
push 0x1415
push 0x111
push ecx
call ebx
mov al, byte [ebp - 0x117]
test al, al
je 0x4c1ded
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4c1402
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x414]
push edx
push 0x13fd
push 0x111
push eax
call ebx
mov al, byte [esi + 0x290]
test al, al
jne 0x4c137d
mov al, byte [ebp - 0x55]
test al, al
je 0x4c1419
cmp dword [edi + 0x8d4], 3
jne 0x4c1419
mov eax, dword [edi + 0xcc]
test eax, eax
jne 0x4c13a4
mov al, byte [ebp - 0x11]
test al, al
jne 0x4c13a4
push 0
mov ecx, edi
call fcn.005b0b30
mov byte [ebp - 0x116], 4
mov eax, dword [edi + 0x480]
test eax, eax
jne 0x4c13bc
mov ecx, edi
call fcn.005b4f50
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x154]
push ecx
mov ecx, dword [ebp - 0x54]
push edx
mov byte [ebp - 0x115], 1
call fcn.005d96a0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x115]
push 1
push eax
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.005db170
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x414]
push edx
push 0x1426
push 0x111
push eax
jmp 0x4c1417
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0x414]
push ecx
push 0x13fe
push 0x111
push edx
call ebx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [edi + 0x8d4]
mov al, byte [ebp - 0x116]
cmp ecx, 3
je 0x4c1499
cmp al, 5
je 0x4c1449
mov dl, byte [esi + 0x290]
test dl, dl
je 0x4c1478
mov edx, dword [ebp - 0x70]
xor esi, esi
cmp edx, esi
je 0x4c147a
jmp 0x4c144b
xor esi, esi
mov dl, byte [ebp - 0x3e]
test dl, dl
je 0x4c147a
mov edx, dword [edi + 0x488]
mov ebx, dword [edi + 0x48c]
or edx, ebx
jne 0x4c147a
mov edx, dword [edi + 0x490]
mov ebx, dword [edi + 0x494]
or edx, ebx
jne 0x4c147a
cmp ecx, esi
je 0x4c149b
jmp 0x4c147a
xor esi, esi
cmp al, 5
je 0x4c148d
cmp dword [edi + 0x480], esi
jne 0x4c148d
mov ecx, edi
call fcn.005b4f50
mov byte [ebp - 0x116], 1
jmp 0x4c1d52
xor esi, esi
cmp al, 5
jne 0x4c152c
cmp dword [edi + 0xcc], esi
jne 0x4c14ba
mov al, byte [ebp - 0x11]
test al, al
jne 0x4c14ba
push esi
mov ecx, edi
call fcn.005b0b30
mov byte [ebp - 0x116], 4
mov eax, dword [edi + 0x480]
cmp eax, esi
jne 0x4c14d2
mov ecx, edi
call fcn.005b4f50
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x154]
mov ecx, esi
push eax
push ebx
mov byte [ebp - 0x115], 1
call fcn.005d96a0
mov ecx, dword [ebp - 0x115]
push 1
push ebx
push ecx
mov ecx, esi
call fcn.005db170
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4c1d41
mov eax, dword [ebp - 0x18]
mov edx, ebx
push edx
push 0x1426
mov ecx, dword [eax + 0x414]
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x4c1d41
cmp al, 4
je 0x4c1537
mov byte [ebp - 0x116], 2
mov al, byte [ebp + 0xc]
test al, al
je 0x4c1c28
mov al, byte [ebp - 0x11]
test al, al
jne 0x4c1c28
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 0x4c169e
push 9
push str.text_html
push eax
call fcn.005e9510
add esp, 0xc
test eax, eax
jne 0x4c169e
mov esi, dword [edi + 0x50]
test esi, esi
je 0x4c1816
mov edx, 0x6a112c
test edx, edx
je 0x4c1816
test esi, esi
je 0x4c1816
mov eax, 0x6a9440
test eax, eax
je 0x4c1816
xor eax, eax
lea ecx, [ebp - 0x50]
push eax
push edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x48], eax
mov word [ebp - 0x4c], ax
call fcn.00402e00
push esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.0040e580
mov bl, 0xf
push 0x6a9440
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], bl
call fcn.0040e580
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.00401070
mov edi, dword [ebp - 0x24]
test edi, edi
jne 0x4c15f9
lea edi, [ebp - 0x20]
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0x3c]
call fcn.00402400
push eax
call fcn.005e71bf
mov edx, eax
push edi
mov dword [ebp + 0xc], edx
call fcn.005e71bf
mov ecx, dword [ebp + 0xc]
add esi, ecx
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 0xc
test edx, edx
mov dword [ebp - 0x30], edx
je 0x4c167b
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.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
lea ecx, [ebp - 0x50]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x30]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.005e71bf
add esp, 0x18
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x3c]
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 - 0x50]
jmp 0x4c180e
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
mov eax, dword [0x6d1f4c]
lea edx, [ebp - 0x3c]
push 1
add eax, 0x698
push edx
push eax
mov ecx, edi
mov byte [ebp - 4], 0x11
call fcn.005b6570
mov eax, dword [ebp - 0x3c]
cmp eax, esi
jne 0x4c16ce
lea eax, [ebp - 0x38]
push 0x2e
push eax
call fcn.005e710f
mov edi, eax
xor ebx, ebx
add esp, 8
cmp edi, ebx
je 0x4c17f8
mov ecx, dword [ebp - 0x44]
mov edx, 0x6a112c
test edx, edx
mov esi, dword [ecx + 0x50]
je 0x4c1807
cmp esi, ebx
je 0x4c1807
push ebx
push edx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x4c], bx
call fcn.00402e00
push esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x12
call fcn.0040e580
push edi
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x13
call fcn.0040e580
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov edi, dword [ebp - 0x24]
cmp edi, ebx
jne 0x4c1747
lea edi, [ebp - 0x20]
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0x160]
call fcn.00402400
push eax
call fcn.005e71bf
mov edx, eax
push edi
mov dword [ebp + 0xc], edx
call fcn.005e71bf
mov ecx, dword [ebp + 0xc]
add esi, ecx
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 0xc
cmp edx, ebx
mov dword [ebp - 0x30], edx
je 0x4c17cf
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.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
lea ecx, [ebp - 0x50]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x30]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.005e71bf
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 - 0x50]
mov byte [ebp - 4], 0x11
call fcn.00401070
jmp 0x4c1807
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x30]
mov eax, dword [edx + 0x50]
push eax
call fcn.00402410
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x3c]
call fcn.00401070
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x4c1820
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [edi + 0x50]
push eax
call fcn.005ea1ac
mov eax, dword [ebp - 0x30]
add esp, 8
test eax, eax
jne 0x4c1837
lea eax, [ebp - 0x2c]
push 0x5c
push eax
call fcn.005e710f
mov esi, eax
add esp, 8
test esi, esi
je 0x4c1ab1
add esi, 2
cmp word [esi], 0
je 0x4c1ab1
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], ecx
mov word [ebp - 0x38], cx
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x15
mov eax, dword [edx + 0x41c]
cmp eax, ecx
je 0x4c187a
mov edi, eax
jmp 0x4c1883
mov eax, dword [ebp - 0x18]
lea edi, [eax + 0x420]
mov edx, 0x6a112c
test edx, edx
je 0x4c19a2
xor ebx, ebx
cmp edi, ebx
je 0x4c19a4
cmp esi, ebx
je 0x4c19a4
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.00402e00
push edi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x4c], bx
call fcn.00402410
push esi
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x17
call fcn.0040e580
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x18
call fcn.00401070
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x160]
call fcn.00402400
push eax
call fcn.005e71bf
add esp, 4
lea ecx, [ebp - 0x50]
mov edi, eax
call fcn.00402400
push eax
call fcn.005e71bf
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x3c], edx
je 0x4c1976
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.00402400
push eax
lea ecx, [ebp - 0x50]
call fcn.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x3c]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.005e71bf
add esp, 0x18
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x17
call fcn.00401070
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x16
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x15
call fcn.00401070
mov ecx, dword [ebp - 0x3c]
jmp 0x4c19a4
xor ebx, ebx
cmp ecx, ebx
jne 0x4c19ab
lea ecx, [ebp - 0x38]
mov eax, dword [ebp - 0x30]
cmp eax, ebx
jne 0x4c19b5
lea eax, [ebp - 0x2c]
push ecx
push eax
call fcn.005ea1ac
add esp, 8
test eax, eax
jne 0x4c1aa2
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
jne 0x4c19d1
lea eax, [ebp - 0x38]
mov edx, 0x6a10a0
test edx, edx
je 0x4c1aa2
cmp eax, ebx
je 0x4c1aa2
push eax
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x4c], bx
call fcn.00402410
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x19
call fcn.00401070
push ebx
push 0x6a10a0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x20], bx
call fcn.00402e00
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1a
call fcn.00402400
push eax
call fcn.005e71bf
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x30], edx
je 0x4c1a8a
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 - 0x50]
call fcn.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x30]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.005e71bf
add esp, 0x14
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x19
call fcn.00401070
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x15
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xd
call fcn.00401070
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x4c1abb
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 - 0x104]
push edx
push eax
mov ecx, esi
call fcn.004204b0
mov ecx, dword [ebp - 0xb0]
cmp dword [ecx - 8], 5
jle 0x4c1b0c
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x4c1af6
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.004204b0
mov eax, dword [ebp - 0x30]
mov byte [ebp - 0x10c], 1
test eax, eax
jne 0x4c1b1d
lea eax, [ebp - 0x2c]
mov ecx, 0x6a10a0
test ecx, ecx
je 0x4c1c04
test eax, eax
je 0x4c1c04
xor ecx, ecx
push eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x48], ecx
mov word [ebp - 0x4c], cx
lea ecx, [ebp - 0x50]
call fcn.00402410
mov bl, 0x1b
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], bl
call fcn.00401070
xor eax, eax
lea ecx, [ebp - 0x24]
push eax
push 0x6a10a0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x20], ax
call fcn.00402e00
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1c
call fcn.00402400
push eax
call fcn.005e71bf
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0xbc], edx
je 0x4c1bea
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 - 0x50]
call fcn.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
mov eax, dword [ebp - 0xbc]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.005e71bf
add esp, 0x14
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xd
call fcn.00401070
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x154]
push edx
push eax
call fcn.005d96a0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xc
call fcn.00401070
jmp 0x4c1d41
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x4c1d41
mov al, byte [ebp - 0x11]
test al, al
jne 0x4c1d41
mov ecx, dword [edi + 0x50]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, 0x6a10a0
mov byte [ebp - 0x10c], 1
test edx, edx
je 0x4c1d2e
xor eax, eax
push esi
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x48], eax
mov word [ebp - 0x4c], ax
call fcn.00402410
mov bl, 0x1d
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], bl
call fcn.00401070
xor eax, eax
lea ecx, [ebp - 0x24]
push eax
push 0x6a10a0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x20], ax
call fcn.00402e00
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1e
call fcn.00402400
push eax
call fcn.005e71bf
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0xbc], edx
je 0x4c1d14
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 - 0x50]
call fcn.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
mov eax, dword [ebp - 0xbc]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.005e71bf
add esp, 0x14
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xc
call fcn.00401070
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x154]
push edx
push eax
call fcn.005d96a0
mov eax, dword [edi + 0x480]
test eax, eax
jne 0x4c1d52
mov ecx, edi
call fcn.005b4f50
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0x4f8]
test eax, eax
je 0x4c1d74
mov ecx, dword [esi + 0x54c]
push esi
push 0
push 0x140c
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [esi + 0x4f4]
test eax, eax
je 0x4c1d93
mov edx, dword [esi + 0x54c]
push esi
push 0
push 0x13fc
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [edi + 0x480]
test eax, eax
jne 0x4c1ddd
mov ecx, edi
call fcn.005b4f50
mov eax, dword [edi + 0x8d8]
test eax, eax
je 0x4c1dc9
push edi
mov ecx, 0x6d2388
call fcn.00436300
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x154]
push eax
push ecx
jmp 0x4c26fe
test edi, edi
je 0x4c1ddd
mov ecx, edi
call fcn.005aa9a0
push edi
call fcn.005ffe68
add esp, 4
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x154]
push eax
push ecx
jmp 0x4c26fe
mov eax, dword [ebp - 0x70]
mov byte [ebp - 0x116], 2
test eax, eax
jne 0x4c1e12
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x414]
push edx
push 0x13fe
push 0x111
push eax
call ebx
mov esi, dword [edi + 0x50]
mov ecx, 0x6a112c
test ecx, ecx
je 0x4c1f3b
test esi, esi
je 0x4c1f3b
mov edx, 0x6a9440
test edx, edx
je 0x4c1f3b
xor edi, edi
push edi
push ecx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x48], edi
mov word [ebp - 0x4c], di
call fcn.00402e00
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.00402410
mov bl, 0x20
push 0x6a9440
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
call fcn.0040e580
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x21
call fcn.00401070
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0x160]
call fcn.00402400
push eax
call fcn.005e71bf
add esp, 4
lea ecx, [ebp - 0x24]
mov edi, eax
call fcn.00402400
push eax
call fcn.005e71bf
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x64], edx
je 0x4c1f12
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.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
lea ecx, [ebp - 0x50]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x64]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.005e71bf
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 - 0x50]
mov byte [ebp - 4], 0xc
call fcn.00401070
mov edi, dword [ebp - 0x44]
mov bl, byte [ebp - 0x11]
test bl, bl
je 0x4c1fe1
mov eax, dword [0x6a55ac]
test eax, eax
je 0x4c1f71
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x4c1f59
lea ecx, [ebp - 0x60]
mov eax, dword [ebp - 0xf8]
test eax, eax
jne 0x4c1f69
lea eax, [ebp - 0xf4]
push 0
push ecx
jmp 0x4c1ff1
mov eax, dword [ebp - 0xf8]
test eax, eax
jne 0x4c1f81
lea eax, [ebp - 0xf4]
lea edx, [ebp - 0x8c]
push eax
push edx
call fcn.00402500
add esp, 8
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0x22
test eax, eax
jne 0x4c1f9f
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.00402500
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x8c]
add esp, 8
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x170]
call fcn.00603a3c
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0xc
call fcn.00603a3c
jmp 0x4c1ff8
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x4c1feb
lea eax, [ebp - 0x60]
push 0
push eax
mov eax, dword [edi + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [ebp - 0x18]
mov al, byte [ecx + 0x290]
test al, al
jne 0x4c200c
mov al, byte [ebp - 0x55]
test al, al
je 0x4c2017
mov eax, dword [ebp - 0x70]
test eax, eax
jne 0x4c2142
mov al, byte [ebp - 0x3d]
test al, al
jne 0x4c2142
test bl, bl
je 0x4c2043
mov eax, dword [ebp - 0xf8]
test eax, eax
jne 0x4c2036
lea eax, [ebp - 0xf4]
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, 0x6a10a0
test ecx, ecx
je 0x4c212d
test eax, eax
je 0x4c212d
xor esi, esi
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.00402410
mov bl, 0x23
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], bl
call fcn.00401070
push esi
push 0x6a10a0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov word [ebp - 0x20], si
call fcn.00402e00
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x24
cmp eax, esi
jne 0x4c20a6
lea eax, [ebp - 0x38]
mov esi, dword [ebp - 0x1c]
push eax
call fcn.005e71bf
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0xe0], edx
je 0x4c2113
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.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
mov eax, dword [ebp - 0xe0]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.005e71bf
add esp, 0x14
mov dword [ebp - 0xd8], 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 - 0x44]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x154]
push edx
push eax
call fcn.005d96a0
jmp 0x4c219e
test bl, bl
jne 0x4c214f
push 0
mov ecx, edi
call fcn.005b0b30
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
mov byte [ebp - 0x116], 4
push ecx
push ebx
mov ecx, esi
mov byte [ebp - 0x115], 1
call fcn.005d96a0
mov edx, dword [ebp - 0x115]
push 1
push ebx
push edx
mov ecx, esi
call fcn.005db170
mov eax, dword [ebp - 0x18]
push ebx
push 0x1426
push 0x111
mov ecx, dword [eax + 0x414]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
cmp byte [ebp - 0x116], 4
je 0x4c21b5
mov al, byte [ebp - 0x3d]
test al, al
jne 0x4c21b5
mov byte [edi + 0xa7a], 1
mov al, byte [ebp + 0xc]
test al, al
je 0x4c25ab
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x4c21ca
lea eax, [ebp - 0x60]
push 0x5c
push eax
call fcn.005e710f
mov esi, eax
add esp, 8
test esi, esi
je 0x4c2459
add esi, 2
cmp word [esi], 0
je 0x4c2459
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], ecx
mov word [ebp - 0x38], cx
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x25
mov eax, dword [edx + 0x41c]
cmp eax, ecx
je 0x4c220d
mov edi, eax
jmp 0x4c2216
mov eax, dword [ebp - 0x18]
lea edi, [eax + 0x420]
mov edx, 0x6a112c
test edx, edx
je 0x4c2338
xor ebx, ebx
cmp edi, ebx
je 0x4c233a
cmp esi, ebx
je 0x4c233a
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.00402e00
push edi
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov word [ebp - 0x2c], bx
call fcn.00402410
mov bl, 0x27
push esi
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
call fcn.0040e580
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x28
call fcn.00401070
mov edi, dword [ebp - 0x30]
test edi, edi
jne 0x4c2287
lea edi, [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x160]
call fcn.00402400
push eax
call fcn.005e71bf
mov edx, eax
push edi
mov dword [ebp + 0xc], edx
call fcn.005e71bf
mov ecx, dword [ebp + 0xc]
add esi, ecx
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 0xc
test edx, edx
mov dword [ebp - 0x3c], edx
je 0x4c230f
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.00402400
push eax
lea ecx, [ebp - 0x30]
call fcn.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x3c]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.005e71bf
add esp, 0x18
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x26
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x25
call fcn.00401070
mov ecx, dword [ebp - 0x3c]
xor ebx, ebx
cmp ecx, ebx
jne 0x4c2341
lea ecx, [ebp - 0x38]
mov eax, dword [ebp - 0x64]
cmp eax, ebx
jne 0x4c234b
lea eax, [ebp - 0x60]
push ecx
push eax
call fcn.005ea1ac
add esp, 8
test eax, eax
jne 0x4c244a
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
jne 0x4c2367
lea eax, [ebp - 0x38]
mov edx, 0x6a10a0
test edx, edx
je 0x4c243a
cmp eax, ebx
je 0x4c243a
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov word [ebp - 0x2c], bx
call fcn.00402410
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x29
call fcn.00401070
push ebx
push 0x6a10a0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x20], bx
call fcn.00402e00
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0x2a
cmp eax, ebx
jne 0x4c23c1
lea eax, [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
push eax
call fcn.005e71bf
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x64], edx
je 0x4c2422
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 - 0x30]
call fcn.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x64]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.005e71bf
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 - 0x44]
cmp dword [ecx + 0x480], ebx
jne 0x4c244a
call fcn.005b4f50
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xc
call fcn.00401070
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x4c2463
lea eax, [ebp - 0x60]
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 - 0x104]
push edx
push eax
mov ecx, esi
call fcn.004204b0
mov ecx, dword [ebp - 0xb0]
cmp dword [ecx - 8], 5
jle 0x4c24b4
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x4c249e
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.004204b0
mov eax, dword [ebp - 0x64]
mov byte [ebp - 0x10c], 1
test eax, eax
jne 0x4c24c5
lea eax, [ebp - 0x60]
mov ecx, 0x6a10a0
test ecx, ecx
je 0x4c26ad
test eax, eax
je 0x4c26ad
xor esi, esi
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.00402410
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x2b
call fcn.00401070
push esi
push 0x6a10a0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
mov word [ebp - 0x2c], si
call fcn.00402e00
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x2c
cmp eax, esi
jne 0x4c2524
lea eax, [ebp - 0x38]
mov esi, dword [ebp - 0x28]
push eax
call fcn.005e71bf
lea ebx, [eax + esi + 2]
lea esi, [ebx + ebx]
push esi
call fcn.005ffe3f
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0xbc], edi
je 0x4c2593
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 - 0x3c]
test eax, eax
jne 0x4c2565
lea eax, [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x4c256f
lea ecx, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0xbc]
push ecx
push ebx
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.005e71bf
add esp, 0x14
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x2b
call fcn.00401070
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x3c]
jmp 0x4c26a8
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x4c26ad
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x480]
test eax, eax
jne 0x4c25c8
call fcn.005b4f50
mov edx, 0x6a10a0
mov byte [ebp - 0x10c], 1
test edx, edx
je 0x4c26ad
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.00402410
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x2d
call fcn.00401070
push esi
push 0x6a10a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x48], esi
mov word [ebp - 0x4c], si
call fcn.00402e00
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0x2e
cmp eax, esi
jne 0x4c2626
lea eax, [ebp - 0x2c]
mov esi, dword [ebp - 0x48]
push eax
call fcn.005e71bf
lea ebx, [eax + esi + 2]
lea esi, [ebx + ebx]
push esi
call fcn.005ffe3f
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0xbc], edi
je 0x4c2695
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 0x4c2667
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x4c2671
lea ecx, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0xbc]
push ecx
push ebx
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.005e71bf
add esp, 0x14
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x2d
call fcn.00401070
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x30]
call fcn.00401070
mov esi, dword [ebp - 0x44]
mov eax, dword [esi + 0x480]
test eax, eax
jne 0x4c26ec
mov ecx, esi
call fcn.005b4f50
mov eax, dword [esi + 0x8d8]
test eax, eax
je 0x4c26d8
push esi
mov ecx, 0x6d2388
call fcn.00436300
jmp 0x4c26ec
test esi, esi
je 0x4c26ec
mov ecx, esi
call fcn.005aa9a0
push esi
call fcn.005ffe68
add esp, 4
mov al, byte [ebp - 0x3d]
test al, al
je 0x4c272d
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x154]
push edx
push eax
mov ecx, dword [ebp - 0x54]
call fcn.005d96a0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0xb
call fcn.00603a3c
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 9
call fcn.00603a3c
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x88]
jmp 0x4c0ce3
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x154]
push ecx
mov ecx, dword [ebp - 0x54]
push esi
mov byte [ebp - 0x108], 1
call fcn.005d96a0
mov edx, dword [ebp - 0x18]
push esi
push 0
push 0x140e
mov eax, dword [edx + 0x54c]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0xb
call fcn.00603a3c
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 9
call fcn.00603a3c
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x88]
jmp 0x4c0ce3