Function at 0x431d60
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov eax, 0x150c
mov ebp, esp
push edi
push esi
push ebx
call fcn.0049c7e0
mov byte [ebp - 0x14dd], 0
xor eax, eax
xor edx, edx
mov dword [ebp - 0x14dc], eax
xor eax, eax
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x14e8], eax
xor eax, eax
mov edi, 0x4ada9e
mov dword [ebp - 0x14ec], eax
mov eax, 0x50
mov esi, pe_nt_image_headers32
mov dword [ebp - 0x14d4], edx
mov byte [ebp - 0x14de], 0
mov dword [esp + 8], eax
mov eax, 0x4ada9e
mov dword [esp + 4], eax
lea eax, [ebp - 0x68]
mov dword [esp], eax
call fcn.00498050
mov dword [esp + 4], edi
mov eax, 0x50
xor edi, edi
mov dword [esp + 8], eax
lea eax, [ebp - 0xb8]
mov dword [esp], eax
call fcn.00498050
mov dword [esp + 8], esi
mov ecx, 0x4ada9e
lea eax, [ebp - 0x538]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00498050
mov eax, edi
inc edi
shl eax, 5
xor edx, edx
cmp edi, 0x19
mov byte [eax + ebp - 0x1478], dl
jle 0x431e00
lea eax, [ebp - 0x14cc]
lea esi, [ebp - 0x4b8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x14d0]
mov dword [esp], eax
call fcn.00497400
mov ecx, 0x400
mov dword [esp + 8], ecx
mov eax, dword [ebp + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00498050
mov ecx, esi
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x431e4c
test edx, 0x8080
jne 0x431e71
shr edx, 0x10
add ecx, 2
add dl, dl
sbb ecx, 3
sub ecx, esi
xor edi, edi
cmp edi, ecx
jge 0x431e91
cmp byte [ebp + edi - 0x4b8], 0x23
je 0x432840
inc edi
cmp edi, ecx
jl 0x431e7e
test ebx, ebx
je 0x43274a
mov dword [esp + 4], ebx
mov edx, pe_nt_image_headers32
lea eax, [ebp - 0x538]
mov dword [esp + 8], edx
lea ebx, [ebp - 0x938]
mov dword [esp], eax
call fcn.00498050
mov dword [esp + 4], esi
mov eax, 0x400
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.00498050
mov dword [esp], ebx
mov eax, 0x4ada4e
mov dword [esp + 4], eax
call fcn.0047ec20
mov dword [ebp - 0x14e4], eax
test eax, eax
je 0x43274a
mov eax, 0x400
mov dword [esp + 8], eax
lea eax, [ebp - 0xd38]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14e4]
mov dword [esp], eax
call fcn.0047ed00
test eax, eax
jne 0x43200f
mov eax, 0x4adaf6
mov dword [esp + 4], eax
lea eax, [ebp - 0xd38]
mov dword [esp], eax
call fcn.004981b0
test al, al
je 0x431fc2
movzx eax, byte [ebp - 0xd32]
cmp al, 0x5b
je 0x431fcd
cmp al, 0x3c
jne 0x431eee
mov esi, dword [ebp - 0x14ec]
test esi, esi
je 0x431eee
lea ecx, [ebp - 0xd38]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x431f59
test edx, 0x8080
jne 0x431f7e
shr edx, 0x10
add ecx, 2
add dl, dl
lea eax, [ebp - 0xd38]
sbb ecx, 3
sub ecx, eax
xor ebx, ebx
mov byte [ebp + ecx - 0xd39], bl
mov eax, dword [ebp - 0x14ec]
mov dword [esp + 4], eax
lea eax, [ebp - 0xd31]
mov dword [esp], eax
call fcn.00498120
test al, al
je 0x431eee
mov eax, dword [ebp - 0x14d4]
mov dword [ebp + 0x10], eax
jmp 0x431eee
inc dword [ebp - 0x14d4]
jmp 0x431eee
movzx edx, byte [ebp - 0xd31]
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [eax], 1
jne 0x4327d5
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
movzx eax, word [eax + edx*2]
and eax, 0x103
test eax, eax
je 0x432003
cmp byte [ebp - 0xd30], 0x5d
je 0x4327eb
movzx eax, byte [ebp - 0xd32]
jmp 0x431f45
mov eax, dword [ebp - 0x14d4]
mov dword [ebp - 0x14d8], eax
call fcn.004971f0
mov eax, dword [ebp - 0x14d8]
mov ecx, dword [ebp - 0x14cc]
sub eax, ecx
add eax, 5
cmp eax, dword [ebp + 0x10]
jge 0x432039
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
not eax
sar eax, 0x1f
and dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
cmp dword [ebp - 0x14d4], eax
jg 0x4322d7
mov eax, dword [ebp + 0x10]
cmp dword [ebp - 0x14d4], eax
jge 0x4320ae
mov eax, 0x400
mov dword [esp + 8], eax
lea eax, [ebp - 0xd38]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14e4]
mov dword [esp], eax
call fcn.0047ed00
test eax, eax
jne 0x4320ae
mov eax, 0x4adaf6
mov dword [esp + 4], eax
lea eax, [ebp - 0xd38]
mov dword [esp], eax
call fcn.004981b0
cmp al, 1
adc dword [ebp - 0x14d4], 0
mov eax, dword [ebp + 0x10]
cmp dword [ebp - 0x14d4], eax
jl 0x43205e
mov eax, dword [ebp - 0x14cc]
xor edi, edi
sub eax, 5
cmp eax, 0
jmp 0x4320cb
mov eax, dword [ebp - 0x14cc]
sub eax, 5
cmp eax, edi
jle 0x43229b
test edi, edi
jne 0x4320de
mov eax, dword [ebp - 0x14d4]
mov dword [ebp + 0x10], eax
mov eax, 0x400
mov dword [esp + 8], eax
lea eax, [ebp - 0xd38]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14e4]
mov dword [esp], eax
call fcn.0047ed00
test eax, eax
jne 0x43229b
mov eax, 0x4adaf6
mov dword [esp + 4], eax
lea eax, [ebp - 0xd38]
mov dword [esp], eax
call fcn.004981b0
test al, al
jne 0x4320c0
inc dword [ebp - 0x14d4]
mov eax, 0x400
mov dword [esp + 8], eax
lea eax, [ebp - 0xd38]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1138]
mov dword [esp], eax
call fcn.00498050
cmp byte [ebp - 0x14de], 0
je 0x4322c7
mov esi, dword [ebp - 0x14e8]
test esi, esi
setne al
xor edx, edx
test edi, edi
sete dl
test edx, eax
je 0x43218c
mov eax, dword [ebp - 0x14e8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1138]
mov dword [esp], eax
call sub.msvcrt.dll_strstr
test eax, eax
je 0x4320c0
xor ebx, ebx
lea eax, [ebp - 0xd38]
mov ecx, 1
mov dword [ebp - 0x14e8], ebx
mov edx, 0xffffffff
lea esi, [ebp - 0x1138]
mov dword [esp + 0x10], eax
lea eax, [edi + 2]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [ebp - 0x14f0], eax
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00496ff0
cmp byte [ebp - 0xb8], 0
je 0x432295
mov dword [esp], esi
lea eax, [ebp - 0xb8]
mov dword [esp + 4], eax
call sub.msvcrt.dll_strstr
test eax, eax
mov esi, eax
je 0x432295
nop
lea esi, [esi]
lea ebx, [ebp - 0xb8]
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebx]
add ebx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x432210
test edx, 0x8080
jne 0x432235
shr edx, 0x10
add ebx, 2
add dl, dl
lea eax, [ebp - 0xb8]
mov edx, esi
sbb ebx, 3
sub ebx, eax
lea eax, [ebp - 0x1138]
mov dword [esp + 8], ebx
sub edx, eax
lea eax, [ebp - 0xd38]
add eax, edx
add esi, ebx
mov dword [esp + 0x10], eax
mov eax, 0xb
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x14f0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00496ff0
mov dword [esp], esi
lea eax, [ebp - 0xb8]
mov dword [esp + 4], eax
call sub.msvcrt.dll_strstr
test eax, eax
mov esi, eax
jne 0x432200
inc edi
jmp 0x4320c0
mov eax, dword [ebp - 0x14e8]
test eax, eax
je 0x432317
mov dword [esp], str.Search_string_not_found_
call fcn.00480b00
mov eax, dword [ebp - 0x14dc]
mov dword [ebp + 0x10], eax
xor eax, eax
mov dword [ebp - 0x14e8], eax
jmp 0x43201b
lea eax, [ebp - 0x1138]
call fcn.004319c0
jmp 0x432156
mov eax, dword [ebp - 0x14e4]
mov dword [esp], eax
call fcn.0047ec70
mov edx, 0x4ada4e
lea eax, [ebp - 0x938]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0047ec20
mov dword [ebp - 0x14e4], eax
test eax, eax
je 0x43275f
xor eax, eax
mov dword [ebp - 0x14d4], eax
jmp 0x432053
cmp byte [ebp - 0x14dd], 0
jne 0x432621
mov edx, dword [ebp - 0x14cc]
lea eax, [edx - 5]
cmp eax, dword [ebp - 0x14d8]
jl 0x4324ef
mov dword [esp], 1
mov eax, str._press_ESC_to_exit_
mov edi, 0xffffffff
mov dword [esp + 0x10], eax
mov eax, 2
mov esi, 0x4ada9a
mov dword [esp + 0xc], eax
lea eax, [edx - 2]
mov ebx, 9
mov dword [esp + 8], edi
mov dword [esp + 4], eax
call fcn.00496ff0
mov dword [esp + 0x10], esi
mov ecx, 0xffffffff
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x14cc]
mov dword [esp], 8
sub eax, 2
mov dword [esp + 4], eax
call fcn.00496ff0
mov eax, 9
mov edx, 0x4ada9e
mov dword [esp + 0xc], eax
mov eax, 0xffffffff
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14cc]
mov dword [esp], 0x14
sub eax, 2
mov dword [esp + 4], eax
call fcn.00496ff0
call fcn.0047fe70
cmp al, 0x3f
mov bl, al
je 0x4324a8
cmp al, 0x21
je 0x432643
cmp al, 0x26
je 0x432677
cmp al, 0x2f
je 0x4326c8
cmp al, 0x23
je 0x43276f
cmp bl, 0x38
sete al
cmp bl, 0x3d
sete dl
or eax, edx
test al, 1
je 0x43241e
dec dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
not eax
sar eax, 0x1f
and dword [ebp + 0x10], eax
cmp bl, 0x5f
je 0x43264f
cmp bl, 0x39
sete al
cmp bl, 0x2d
sete dl
or eax, edx
test al, 1
je 0x43244a
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp - 0x14cc]
sub eax, esi
add eax, 5
mov dword [ebp + 0x10], eax
xor eax, eax
cmp bl, 0x37
setne al
neg eax
and dword [ebp + 0x10], eax
cmp bl, 0x32
sete dl
cmp bl, 0xa
sete al
or eax, edx
test al, 1
jne 0x4324d0
cmp bl, 0xd
je 0x4324d0
cmp bl, 0x2b
je 0x4324d8
cmp bl, 0x33
sete al
cmp bl, 0x20
sete dl
or eax, edx
test al, 1
je 0x432496
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x14cc]
add eax, ecx
sub eax, 5
mov dword [ebp + 0x10], eax
cmp bl, 0x31
je 0x432669
cmp bl, 0x1b
jne 0x43201b
mov eax, dword [ebp - 0x14e4]
mov dword [esp], eax
call fcn.0047ec70
xor eax, eax
cmp bl, 0x3f
setne al
add esp, 0x150c
pop ebx
pop esi
pop edi
pop ebp
ret
inc dword [ebp + 0x10]
cmp bl, 0x2b
jne 0x432473
mov eax, dword [ebp - 0x14cc]
sub eax, 5
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add dword [ebp + 0x10], eax
jmp 0x432473
mov dword [esp], 1
mov eax, str._press_ESC_to_exit__Space_for_next_page__Arrows_Keypad_to_scroll_
mov edi, 9
mov dword [esp + 0x10], eax
mov eax, 2
mov esi, 0xffffffff
mov dword [esp + 0xc], eax
mov eax, 0xffffffff
mov ebx, str.Space
mov dword [esp + 8], eax
lea eax, [edx - 2]
mov dword [esp + 4], eax
call fcn.00496ff0
mov dword [esp + 0xc], edi
mov eax, 0x4ada9a
mov edi, 0x4ada9e
mov dword [esp + 8], esi
mov esi, 9
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x14cc]
mov dword [esp], 8
sub eax, 2
mov dword [esp + 4], eax
call fcn.00496ff0
mov dword [esp + 0x10], ebx
mov ecx, 9
mov edx, 0xffffffff
mov dword [esp + 0xc], ecx
mov ebx, 0xffffffff
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x14cc]
mov dword [esp], 0x15
sub eax, 2
mov dword [esp + 4], eax
call fcn.00496ff0
mov eax, 0x4adae8
mov dword [esp + 0x10], eax
mov eax, 9
mov dword [esp + 0xc], eax
mov eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14cc]
mov dword [esp], 0x2a
sub eax, 2
mov dword [esp + 4], eax
call fcn.00496ff0
mov eax, str.Keypad
mov dword [esp + 0x10], eax
mov eax, 9
mov dword [esp + 0xc], eax
mov eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14cc]
mov dword [esp], 0x31
sub eax, 2
mov dword [esp + 4], eax
call fcn.00496ff0
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x14cc]
mov dword [esp], 0x43
sub eax, 2
mov dword [esp + 4], eax
jmp 0x4323ca
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14cc]
mov dword [esp], str._Press_a_Number__or_ESC_to_exit._
dec eax
mov dword [esp + 4], eax
call fcn.004814e0
jmp 0x4323cf
xor byte [ebp - 0x14de], 1
jmp 0x4323fe
mov eax, dword [ebp - 0x14cc]
sub eax, 5
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
sub dword [ebp + 0x10], eax
jmp 0x432427
mov eax, dword [ebp - 0x14d8]
mov dword [ebp + 0x10], eax
jmp 0x43201b
xor ecx, ecx
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x14cc]
mov dword [esp], str.Show:
dec eax
mov dword [esp + 4], eax
call fcn.004814e0
mov edx, 0x50
lea eax, [ebp - 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00481a80
cmp byte [ebp - 0x14de], 0
jne 0x4323fe
lea eax, [ebp - 0xb8]
call fcn.004319c0
jmp 0x4323fe
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14cc]
mov dword [esp], str.Find:
dec eax
mov dword [esp + 4], eax
call fcn.004814e0
mov eax, 0x50
mov dword [esp + 4], eax
lea eax, [ebp - 0x68]
mov dword [esp], eax
call fcn.00481a80
test al, al
je 0x4323fe
lea eax, [ebp - 0x68]
mov dword [ebp - 0x14e8], eax
mov eax, dword [ebp + 0x10]
inc dword [ebp + 0x10]
cmp byte [ebp - 0x14de], 0
mov dword [ebp - 0x14dc], eax
jne 0x432727
lea eax, [ebp - 0x68]
call fcn.004319c0
mov eax, 0x50
mov dword [esp + 8], eax
lea eax, [ebp - 0x68]
mov dword [esp + 4], eax
lea eax, [ebp - 0xb8]
mov dword [esp], eax
call fcn.00498050
jmp 0x4323fe
mov dword [esp + 4], esi
mov dword [esp], str.Cannot_open__s.
call fcn.004811e0
call fcn.00481230
add esp, 0x150c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
lea esi, [ebp - 0x14c8]
mov edi, 0x50
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14cc]
mov dword [esp], str.Goto_Line:
dec eax
mov dword [esp + 4], eax
call fcn.004814e0
mov dword [esp], esi
mov eax, 0x50
mov dword [esp + 8], eax
mov eax, 0x4ada15
mov dword [esp + 4], eax
call fcn.00498050
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00481a80
test al, al
je 0x4323fe
mov dword [esp], esi
call sub.msvcrt.dll_atoi
mov dword [ebp + 0x10], eax
jmp 0x4323fe
mov dword [esp], edx
mov eax, 0x103
mov dword [esp + 4], eax
call sub.msvcrt.dll__isctype
jmp 0x431ff2
cmp byte [ebp - 0xd2f], 0x20
jne 0x432003
movsx eax, byte [ebp - 0xd31]
mov byte [ebp - 0x14dd], 1
lea edx, [eax - 0x61]
cmp edx, 0x19
ja 0x431eee
lea eax, [ebp - 0xd2e]
mov edi, 0x20
shl edx, 5
mov dword [esp + 4], eax
lea eax, [ebp + edx - 0x1478]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00498050
jmp 0x431eee
xor eax, eax
mov byte [ebp + edi - 0x4b8], al
lea edi, [esi + edi + 1]
mov dword [ebp - 0x14ec], edi
jmp 0x431e91