Function at 0x419600
Capabilities:
Encode data using base64
Get graphical window text

Disassembly:
sub esp, 0x7b4
mov dl, byte [0x4488a8]
push ebx
push ebp
push edi
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0xc1]
mov byte [esp + 0xc0], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x6c1]
mov byte [esp + 0x6c0], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x41]
mov byte [esp + 0x40], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
or ebx, 0xffffffff
mov ecx, 0x447868
mov dword [esp + 0x38], 0x64
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], ebx
stosb byte es:[edi], al
call fcn.00415cd0
mov ebp, dword [esp + 0x7c4]
lea eax, [esp + 0x40]
push 0x80
push eax
push ebp
call dword [sym.imp.USER32.dll_GetWindowTextA]
cmp byte [esp + 0x40], 0x5b
jne 0x4196b3
lea ecx, [esp + 0x40]
push ecx
push ebp
call fcn.00419100
add esp, 8
pop edi
pop ebp
pop ebx
add esp, 0x7b4
ret
mov edx, dword [0x447e38]
push esi
mov eax, dword [edx + 0x60cc]
test eax, eax
je 0x41973a
mov eax, 0x20
push 0x3f8
mov word [esp + 0x2d6], ax
mov word [esp + 0x2d4], ax
mov word [esp + 0x2d2], ax
mov word [esp + 0x2d0], ax
mov word [esp + 0x2ce], ax
mov word [esp + 0x2cc], ax
mov word [esp + 0x2ca], ax
mov word [esp + 0x2c8], ax
lea eax, [esp + 0x2d8]
lea ecx, [esp + 0x48]
push eax
push ebx
push ecx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edx, [esp + 0x2c4]
push edx
push ebp
call dword [sym.imp.USER32.dll_SetWindowTextW]
jmp 0x4197b0
lea edi, [esp + 0x44]
mov ecx, ebx
xor eax, eax
lea edx, [esp + 0x2cc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x2cb], 0x20
mov eax, ecx
mov esi, edi
mov edi, edx
mov byte [esp + 0x2ca], 0x20
shr ecx, 2
mov byte [esp + 0x2c9], 0x20
mov byte [esp + 0x2c8], 0x20
mov byte [esp + 0x2c7], 0x20
mov byte [esp + 0x2c6], 0x20
mov byte [esp + 0x2c5], 0x20
mov byte [esp + 0x2c4], 0x20
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x2c4]
push ecx
push ebp
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x7e
lea edx, [esp + 0x48]
push 0x3a
push edx
call fcn.00408710
lea eax, [esp + 0x50]
push 0x28
push eax
call fcn.0041f920
mov edx, eax
add esp, 0x14
test edx, edx
je 0x419806
mov edi, edx
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], 0x29
jne 0x419806
mov edi, 0x4428c8
mov ecx, ebx
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]
push 5
lea ecx, [esp + 0x48]
push str.cell_
push ecx
call fcn.0041f530
add esp, 0xc
test eax, eax
jne 0x419854
lea edx, [esp + 0x44]
push 0x2c
push edx
call fcn.0041f920
mov edx, eax
add esp, 8
test edx, edx
je 0x419854
mov edi, 0x4428bc
mov ecx, ebx
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]
mov edi, 0x4428b8
mov ecx, ebx
xor eax, eax
lea edx, [esp + 0x44]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x4409d8
mov esi, edi
mov ebp, ecx
mov edi, edx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
push 0x4461b0
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x4c]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], ecx
call fcn.0041f85a
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x419ad4
push eax
lea eax, [esp + 0xc8]
push 0x200
push eax
call fcn.0041f7c7
add esp, 0xc
test eax, eax
je 0x419ac7
jmp 0x4198d0
or ebx, 0xffffffff
mov ecx, 3
mov edi, 0x43a240
lea esi, [esp + 0xc4]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x419911
lea edi, [esp + 0xc7]
mov ecx, ebx
xor eax, eax
lea edx, [esp + 0xc4]
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]
cmp byte [esp + 0xc4], 0x5b
je 0x419ac7
mov ecx, dword [esp + 0x14]
lea edi, [esp + 0x44]
lea esi, [esp + 0xc4]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x419aa5
lea edi, [esp + 0xc4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0xc4]
lea ecx, [esp + ecx + 0xc3]
cmp ecx, eax
jb 0x41997c
mov al, byte [ecx]
cmp al, 0x20
je 0x41996d
cmp al, 9
jb 0x419969
cmp al, 0xd
jbe 0x41996d
cmp al, 0xa0
jne 0x41997c
mov byte [ecx], 0
dec ecx
lea edx, [esp + 0xc4]
cmp ecx, edx
jae 0x41995b
mov eax, dword [esp + 0x14]
lea ecx, [esp + eax + 0xc4]
mov al, byte [esp + eax + 0xc4]
test al, al
je 0x419aa5
cmp al, 0xa
je 0x419aa5
mov al, byte [ecx]
cmp al, 0x20
je 0x4199b0
cmp al, 9
jb 0x4199ac
cmp al, 0xd
jbe 0x4199b0
cmp al, 0xa0
jne 0x4199b3
inc ecx
jmp 0x41999e
mov al, byte [ecx]
test al, al
je 0x419aa5
cmp al, 0xa
je 0x419aa5
cmp al, 0x3b
mov ebp, ecx
je 0x4199db
test al, al
je 0x4199db
cmp al, 0xa
je 0x4199db
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x3b
jne 0x4199cb
mov bl, byte [ebp]
push 0x100
mov byte [ebp], 0
push ecx
mov ecx, dword [0x4463b0]
add ecx, 0x100
push ecx
call fcn.004166c0
mov edi, dword [0x4463b0]
mov ecx, 0x40
xor eax, eax
add esp, 0xc
rep stosd dword es:[edi], eax
mov edx, dword [0x4463b0]
xor esi, esi
mov al, byte [edx + 0x100]
test al, al
je 0x419a5c
mov ecx, edx
mov al, byte [ecx + 0x100]
cmp al, 0x2f
jne 0x419a32
cmp byte [ecx + 0x101], al
je 0x419a5c
movsx edx, al
push edx
call fcn.0041efc3
mov ecx, dword [0x4463b0]
add esp, 4
mov byte [esi + ecx], al
mov edx, dword [0x4463b0]
inc esi
mov al, byte [esi + edx + 0x100]
lea ecx, [esi + edx]
test al, al
jne 0x419a26
dec esi
js 0x419a85
jmp 0x419a67
mov edx, dword [0x4463b0]
movsx edx, byte [esi + edx]
push edx
call fcn.00420882
add esp, 4
test eax, eax
je 0x419a85
mov eax, dword [0x4463b0]
dec esi
mov byte [esi + eax + 1], 0
jns 0x419a61
mov ecx, 0x447868
call fcn.00415bd0
test bl, bl
lea ecx, [ebp + 1]
je 0x419aa5
cmp bl, 0xa
je 0x419aa5
mov al, byte [ecx]
test al, al
jne 0x419996
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xc4]
push ecx
push 0x200
push edx
call fcn.0041f7c7
add esp, 0xc
test eax, eax
jne 0x4198cd
mov eax, dword [esp + 0x10]
push eax
call fcn.0041f74a
add esp, 4
mov ecx, 0x447890
call fcn.00415cd0
mov ecx, dword [0x447e38]
cmp byte [ecx + 0x72e4], 0x3d
jne 0x419af8
lea eax, [ecx + 0x72e5]
jmp 0x419d8f
add ecx, 0x60c4
push ecx
call fcn.0041d720
push 0x5c
push 0x4461b0
call fcn.0041f920
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x41a26d
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
sub ebp, 0xa
cmp ebp, 4
jl 0x41a26d
mov edi, dword [0x4463bc]
mov ecx, 0x20
rep stosd dword es:[edi], eax
mov edi, dword [0x4463bc]
lea ecx, [ebp + 1]
mov edx, ecx
mov esi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x4463bc]
mov al, byte [esi]
test al, al
je 0x419b7d
push eax
call fcn.00403100
add esp, 4
mov byte [esi], al
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x419b6a
mov ecx, dword [0x4463bc]
lea eax, [ebx + ebp + 2]
push 0x80
lea edx, [ecx + ebp + 1]
mov ecx, dword [eax]
mov dword [edx], ecx
mov al, byte [eax + 4]
mov byte [edx + 4], al
mov ecx, dword [0x447e38]
mov edx, dword [0x4463bc]
add ecx, 0x72e4
push ecx
push edx
call fcn.00416770
add esp, 0xc
call fcn.004012a0
test eax, eax
jne 0x419d89
mov eax, dword [0x447e38]
mov ecx, dword [0x4463bc]
add eax, 0x72e4
push 0x80
push eax
push ecx
call fcn.004166c0
add esp, 0xc
call fcn.004012a0
test eax, eax
jne 0x419d89
mov eax, dword [0x447e38]
test eax, eax
je 0x41a26d
mov ecx, dword [eax + 0x5ebc]
test ecx, ecx
je 0x41a26d
push 0x4463c5
mov byte [0x4463c4], 0x4e
call fcn.004147d0
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x200
sub edx, ecx
mov edi, 0x4463c4
or ecx, 0xffffffff
push str.p_doma__text
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x442890
push 0x440ae4
add ecx, 0x4463c4
push edx
push ecx
call fcn.0041f19c
mov eax, dword [0x4463bc]
push 0x4463c4
push eax
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4463c4
push ecx
call fcn.00414880
mov eax, dword [0x447e38]
add esp, 0x20
mov cl, byte [eax + 0x5ec0]
lea edi, [eax + 0x5ec0]
test cl, cl
je 0x419d70
mov ecx, dword [str.hh.mm]
mov dx, word [0x440ae0]
mov dword [esp + 0x20], ecx
or ecx, 0xffffffff
xor eax, eax
mov word [esp + 0x24], dx
mov word [esp + 0x26], 0
lea edx, [esp + 0x2c4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dx, word [0x4463c8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x20]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov cx, word [0x4463c5]
push str.time
mov word [esp + 0x28], cx
lea ecx, [esp + 0x2cc]
push ecx
mov word [esp + 0x2f], dx
call fcn.00417780
lea edx, [esp + 0x2d0]
push 0x4409c4
push edx
call fcn.0041f85a
mov esi, eax
add esp, 0x14
test esi, esi
je 0x41a26d
push esi
push 0x4463c4
call fcn.0041f6fc
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + 0x4463c3], 0xa
je 0x419d62
push esi
push 0x440ad0
call fcn.0041f6fc
add esp, 8
push esi
call fcn.0041f74a
add esp, 4
jmp 0x41a26d
mov eax, dword [eax + 0x72b4]
push 0x4463c4
push eax
call fcn.00408560
add esp, 8
jmp 0x41a26d
mov ecx, dword [0x447e38]
add ecx, 0x60c4
push eax
push ecx
mov ecx, dword [0x447c50]
add ecx, 0xc30
lea edx, [esp + 0x6cc]
push ecx
push str._sdom._s._s.txt
push edx
call fcn.004200b4
mov eax, dword [0x447e38]
add esp, 0x14
test eax, eax
je 0x419f4a
mov ecx, dword [eax + 0x5ebc]
test ecx, ecx
je 0x419f4a
push 0x4463c5
mov byte [0x4463c4], 0x4e
call fcn.004147d0
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x200
push str.current_input_values_file
push str.Input_Values_file
sub eax, ecx
push 0x440ae4
push eax
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4463c4
push ecx
call fcn.0041f19c
lea ecx, [esp + 0x6d8]
push 0x4463c4
push ecx
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4463c4
push ecx
call fcn.00414880
mov eax, dword [0x447e38]
add esp, 0x20
mov cl, byte [eax + 0x5ec0]
lea edi, [eax + 0x5ec0]
test cl, cl
je 0x419f36
mov ax, word [0x440ae0]
mov edx, dword [str.hh.mm]
mov word [esp + 0x24], ax
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x20], edx
mov word [esp + 0x26], 0
lea edx, [esp + 0x2c4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dx, word [0x4463c8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x20]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov cx, word [0x4463c5]
push str.time
mov word [esp + 0x28], cx
lea ecx, [esp + 0x2cc]
push ecx
mov word [esp + 0x2f], dx
call fcn.00417780
lea edx, [esp + 0x2d0]
push 0x4409c4
push edx
call fcn.0041f85a
mov esi, eax
add esp, 0x14
test esi, esi
je 0x419f4a
push esi
push 0x4463c4
call fcn.0041f6fc
mov edi, 0x4463c4
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + 0x4463c3], 0xa
je 0x419f2b
push esi
push 0x440ad0
call fcn.0041f6fc
add esp, 8
push esi
call fcn.0041f74a
add esp, 4
jmp 0x419f4a
mov eax, dword [eax + 0x72b4]
push 0x4463c4
push eax
call fcn.00408560
add esp, 8
lea ecx, [esp + 0x6c4]
push 0x4409d8
push ecx
call fcn.0041e2a0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x41a27e
mov edx, eax
lea eax, [esp + 0xc4]
push edx
push 0x200
push eax
call fcn.0041f7c7
add esp, 0xc
test eax, eax
je 0x41a26d
mov bl, 0x7a
mov ecx, 3
mov edi, 0x43a240
lea esi, [esp + 0xc4]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x419fcf
lea edi, [esp + 0xc7]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc4]
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]
lea edi, [esp + 0xc4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ecx, [esp + ecx + 0xc3]
cmp ecx, edx
jb 0x41a013
mov al, byte [ecx]
cmp al, 0x20
je 0x41a004
cmp al, 9
jb 0x41a000
cmp al, 0xd
jbe 0x41a004
cmp al, 0xa0
jne 0x41a013
mov byte [ecx], 0
dec ecx
lea eax, [esp + 0xc4]
cmp ecx, eax
jae 0x419ff2
lea esi, [esp + 0xc4]
mov al, byte [esi]
cmp al, 0x20
je 0x41a02c
cmp al, 9
jb 0x41a028
cmp al, 0xd
jbe 0x41a02c
cmp al, 0xa0
jne 0x41a02f
inc esi
jmp 0x41a01a
push 0xc
push str.historysize
push esi
call fcn.0041f530
add esp, 0xc
test eax, eax
jne 0x41a058
add esi, 0xc
push esi
call fcn.004200a9
add esp, 4
mov dword [esp + 0x3c], eax
jmp 0x41a24b
push 0xd
push str.windowheight
push esi
call fcn.0041f530
add esp, 0xc
test eax, eax
jne 0x41a081
add esi, 0xd
push esi
call fcn.004200a9
add esp, 4
mov dword [esp + 0x40], eax
jmp 0x41a24b
push 0xc
push str.windowwidth
push esi
call fcn.0041f530
add esp, 0xc
test eax, eax
jne 0x41a0aa
add esi, 0xc
push esi
call fcn.004200a9
add esp, 4
mov dword [esp + 0x34], eax
jmp 0x41a24b
push 0xb
push str.windowxpos
push esi
call fcn.0041f530
add esp, 0xc
test eax, eax
jne 0x41a0d3
add esi, 0xb
push esi
call fcn.004200a9
add esp, 4
mov dword [esp + 0x1c], eax
jmp 0x41a24b
push 0xb
push str.windowypos
push esi
call fcn.0041f530
add esp, 0xc
test eax, eax
jne 0x41a0fc
add esi, 0xb
push esi
call fcn.004200a9
add esp, 4
mov dword [esp + 0x30], eax
jmp 0x41a24b
push esi
call fcn.00408740
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41a24b
mov ecx, dword [0x4463b4]
push 0x100
add ecx, 0x100
push esi
push ecx
call fcn.004166c0
mov edx, dword [0x4463b4]
add esp, 0xc
mov al, byte [edx + 0x100]
lea esi, [edx + 0x100]
test al, al
je 0x41a1a5
push 8
push str.__input
push esi
call fcn.0041f530
add esp, 0xc
test eax, eax
je 0x41a164
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x41a148
cmp byte [esi], 0
je 0x41a1a5
mov eax, dword [str._t_t_t_t_t...]
mov dword [esi], eax
mov ecx, dword [0x4427f0]
mov dword [esi + 4], ecx
mov edx, dword [0x4463b4]
mov ecx, 0x3f
mov byte [edx], bl
mov eax, dword [0x4463b4]
mov byte [eax + 1], bl
mov eax, dword [0x4463b4]
lea esi, [eax + 0x100]
lea edi, [eax + 2]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x41a241
mov edi, dword [0x4463b4]
mov ecx, 0x40
xor eax, eax
xor edx, edx
rep stosd dword es:[edi], eax
mov esi, dword [0x4463b4]
mov al, byte [esi + 0x100]
test al, al
je 0x41a1f2
mov eax, esi
mov cl, byte [eax + 0x100]
cmp cl, 0x2f
jne 0x41a1db
cmp byte [eax + 0x101], cl
je 0x41a1f2
mov byte [eax], cl
mov esi, dword [0x4463b4]
inc edx
mov cl, byte [esi + edx + 0x100]
lea eax, [esi + edx]
test cl, cl
jne 0x41a1ce
push esi
call fcn.00408740
mov esi, dword [0x4463b4]
add esp, 4
mov al, byte [esi]
test al, al
je 0x41a21a
push eax
call fcn.00403100
add esp, 4
mov byte [esi], al
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x41a207
mov ecx, dword [0x4463b4]
lea eax, [ecx + 0x100]
test eax, eax
je 0x41a241
push 0x4427e8
push 0x4427e4
push eax
call fcn.004176e0
add esp, 0xc
test eax, eax
jne 0x41a22a
mov ecx, 0x447890
call fcn.00415bd0
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xc4]
push edx
push 0x200
push eax
call fcn.0041f7c7
add esp, 0xc
test eax, eax
jne 0x419f8d
mov eax, dword [esp + 0x10]
test eax, eax
je 0x41a27e
push eax
call fcn.0041f74a
add esp, 4
mov ebx, dword [esp + 0x7c8]
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push esi
mov dword [esp + 0x18], esi
call dword [sym.imp.GDI32.dll_SaveDC]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebp, ebp
push ebp
push ebp
push 0x31
push ebx
mov dword [esp + 0x30], eax
call edi
cmp eax, ebp
je 0x41a2b8
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push ebp
push ebp
push 0xb
push ebx
call edi
mov ecx, dword [0x447c6c]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x38], ecx
mov ecx, dword [0x447878]
mov eax, ecx
mov dword [esp + 0x18], ebp
mov dword [0x447c6c], eax
mov edx, dword [0x447874]
shl edx, 9
add edx, ecx
cmp eax, edx
jae 0x41a452
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jge 0x41a45c
mov edx, dword [0x4463b4]
mov edi, ecx
push 0x100
inc edi
push eax
push edx
mov dword [esp + 0x24], edi
call fcn.004166c0
mov eax, dword [0x4478a0]
mov edi, dword [0x447c70]
mov ebp, eax
add esp, 0xc
mov dword [0x447c70], ebp
mov ecx, dword [0x44789c]
shl ecx, 9
add ecx, eax
cmp ebp, ecx
jae 0x41a39f
mov ecx, 0x447890
call fcn.004161d0
mov edx, dword [0x447c6c]
mov ebp, dword [0x447c70]
mov esi, edx
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x41a37d
test cl, cl
je 0x41a379
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x41a37d
add eax, 2
add esi, 2
test cl, cl
jne 0x41a359
xor eax, eax
jmp 0x41a382
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x41a584
mov eax, dword [0x4478a0]
add ebp, 0x200
cmp ebp, eax
mov dword [0x447c70], ebp
jae 0x41a330
mov dword [0x447c70], edi
mov edx, dword [0x447c6c]
mov eax, dword [esp + 0x7c8]
add edx, 0x100
push edx
push eax
call fcn.00408560
mov ecx, dword [0x447c6c]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 8
add ecx, 0x100
push 0
push 0
push ecx
call edi
mov edx, dword [0x447c6c]
mov ebx, dword [esp + 0x1c]
mov esi, dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
add edx, 0x100
push eax
push edx
push ebx
call esi
mov ecx, dword [esp + 0x10]
and eax, 0xffff
cmp ecx, eax
ja 0x41a42e
mov eax, dword [0x447c6c]
push 0
add eax, 0x100
push 0
push eax
call edi
mov ecx, dword [0x447c6c]
push eax
add ecx, 0x100
push ecx
push ebx
call esi
and eax, 0xffff
mov dword [esp + 0x10], eax
mov eax, dword [0x447c6c]
mov ecx, dword [0x447878]
mov ebx, dword [esp + 0x7c8]
add eax, 0x200
cmp eax, ecx
mov dword [0x447c6c], eax
jae 0x41a2de
mov edx, dword [esp + 0x38]
mov dword [0x447c6c], edx
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x41a49e
mov edi, str.____End_of_History____
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc4]
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]
lea ecx, [esp + 0xc4]
push ecx
push ebx
call fcn.00408560
add esp, 8
mov ecx, dword [0x4478a0]
mov edx, dword [0x447c70]
mov esi, dword [esp + 0x14]
mov ebp, dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
mov edi, dword [esp + 0x10]
mov eax, ecx
mov dword [esp + 0x38], edx
mov dword [0x447c70], eax
mov edx, dword [0x44789c]
shl edx, 9
add edx, ecx
cmp eax, edx
jae 0x41a563
add eax, 0x100
push eax
push ebx
call fcn.00408560
mov eax, dword [0x447c70]
add esp, 8
add eax, 0x100
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [0x447c70]
push eax
add ecx, 0x100
push ecx
push esi
call ebp
and eax, 0xffff
cmp edi, eax
ja 0x41a546
mov edx, dword [0x447c70]
push 0
add edx, 0x100
push 0
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [0x447c70]
add eax, 0x100
push eax
push esi
call ebp
mov edi, eax
and edi, 0xffff
mov dword [esp + 0x10], edi
mov eax, dword [0x447c70]
mov ecx, dword [0x4478a0]
add eax, 0x200
cmp eax, ecx
mov dword [0x447c70], eax
jae 0x41a4c3
mov eax, dword [0x44789c]
mov ecx, dword [esp + 0x38]
test eax, eax
mov dword [0x447c70], ecx
jle 0x41a5c2
lea edx, [esp + 0xc4]
mov edi, str.____End_of_Value_List____
jmp 0x41a5d6
mov al, byte [ebp + 0x100]
lea esi, [ebp + 0x100]
test al, al
lea edi, [edx + 0x100]
je 0x41a5ba
movsx edx, byte [edi]
mov bl, byte [esi]
push edx
call fcn.0041efc3
movsx ecx, bl
add esp, 4
cmp eax, ecx
je 0x41a5b1
mov byte [edi], bl
mov al, byte [esi + 1]
inc edi
inc esi
test al, al
jne 0x41a59a
mov byte [edi], 0
jmp 0x41a3a5
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x41a60c
lea edx, [esp + 0xc4]
mov edi, str.____No_values_available____
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]
lea ecx, [esp + 0xc4]
push ecx
push ebx
call fcn.00408560
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
add esp, 8
mov ecx, 0x447868
call fcn.00415cd0
mov ecx, 0x447890
call fcn.00415cd0
mov edx, dword [esp + 0x20]
add edi, 8
push edx
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
push esi
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x186
push ebx
call ebp
push 0
push 0
push 0x197
push ebx
call ebp
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
test eax, eax
jg 0x41a665
test ecx, ecx
jle 0x41a688
test eax, eax
jge 0x41a66e
mov eax, 0x12c
test ecx, ecx
jge 0x41a677
mov ecx, 0x168
push 6
push eax
push ecx
push 0
push 0
push 0
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
test eax, eax
jge 0x41a6ac
test esi, esi
jl 0x41a6d5
lea eax, [esp + 0x20]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
test esi, esi
jge 0x41a6c0
lea edx, [esp + 0x20]
push edx
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
push 5
push 0
push 0
push esi
push eax
push 0
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0
push 1
push 0xb
push ebx
call ebp
push 0
push edi
push 0x194
push ebx
call ebp
mov ecx, dword [0x447c3c]
push 0x65
push ecx
call dword [sym.imp.USER32.dll_LoadIconA]
push eax
push 0
push 0x80
push ebx
call ebp
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x7b4
ret