Function at 0x451480
Capabilities:
Encode data using base64

Disassembly:
mov eax, 0x23d0
call fcn.0056e450
mov ecx, dword [esp + 0x23d4]
mov al, byte [ecx + 0x80ac]
test al, al
push ebx
push ebp
mov ebp, dword [esp + 0x23e0]
push esi
push edi
je 0x4514d0
mov eax, dword [ecx + 0x80a8]
cmp dword [eax + 0x22c], 3
je 0x4514d0
mov byte [ecx + 0x80ac], 0
cmp dword [eax + 0x22c], 2
sete al
mov byte [ecx + 0x80ad], al
lea esp, [esp]
mov ecx, dword [esp + 0x23e4]
mov eax, dword [ecx + 0x80a8]
mov ecx, dword [eax + 0x27a38]
cmp ecx, dword [eax + 0x27a34]
je 0x452154
mov edx, dword [eax + ecx*4 + 0x27a40]
mov edi, dword [eax + ecx*4 + 0x27e40]
inc ecx
and ecx, 0x800000ff
lea edx, [edx + eax + 0x7a34]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edi
jns 0x45151d
dec ecx
or ecx, 0xffffff00
inc ecx
mov dword [eax + 0x27a38], ecx
mov ecx, dword [esp + 0x23e4]
mov edx, dword [ecx + 0x90]
lea eax, [esp + 0x28]
push eax
push edx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0x28]
lea ecx, [eax + edi + 2]
mov edi, dword [esp + 0x23e4]
mov eax, dword [edi + 0x90]
push ebx
lea edx, [esp + 0x1c]
push edx
push eax
mov dword [esp + 0x24], ecx
call fcn.004d3720
mov esi, eax
call fcn.0040ae40
mov edx, dword [edi + 0x90]
lea ecx, [esp + 0x38]
push ecx
push edx
call fcn.004d3720
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
imul eax, eax, 0x43fd
sub eax, 0x53fd
cmp word [ecx], ax
jne 0x4514d0
mov edx, ecx
add edx, 2
xor ecx, ecx
mov cx, word [edx]
movzx esi, cx
add edx, 2
cmp esi, 0x4102
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jg 0x4515fd
je 0x451615
cmp esi, 0x201f
jg 0x4515f0
je 0x451615
cmp esi, 0x1032
jl 0x45168f
cmp esi, 0x1033
jle 0x451615
jmp 0x45168f
cmp esi, 0x3432
je 0x451615
jmp 0x45168f
cmp esi, 0x4106
je 0x451615
cmp esi, 0x4410
je 0x451615
cmp esi, 0x6002
jne 0x45168f
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x23e4]
mov ecx, dword [eax + 0x80b0]
mov ebx, dword [esp + 0x1c]
push 0x2000
push edi
push edx
lea esi, [ebx - 4]
push ecx
lea ecx, [esp + 0x3f0]
mov eax, esi
call fcn.004c49b0
mov eax, esi
cdq
and edx, 0xf
add eax, edx
sar eax, 4
lea ecx, [eax + eax*2]
shl ecx, 2
xor edx, edx
add esp, 0x10
test ecx, ecx
setl dl
lea esi, [esp + 0x3e0]
dec edx
and ecx, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x10]
and ecx, 3
neg eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [ebx + eax*4]
mov dword [esp + 0x1c], eax
cmp esi, 0x2001
jg 0x4518d7
je 0x45191c
cmp esi, 0x1079
jg 0x4516d3
je 0x45191c
mov eax, esi
sub eax, 0x1012
je 0x45191c
sub eax, 5
je 0x45191c
sub eax, 0x1a
je 0x45191c
jmp case.default.0x451be2
cmp esi, 0x1102
je 0x45191c
cmp esi, 0x1312
je 0x45191c
cmp esi, 0x1fff
jne case.default.0x451be2
mov edi, dword [esp + 0x23e4]
call fcn.00451170
test ebp, ebp
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx]
jne 0x45180e
cmp eax, 0x20
jg 0x4517a1
je 0x451790
cmp eax, 0x10
ja case.0x4517b2.4099
movzx edx, byte [eax + 0x452178]
jmp dword [edx*4 + 0x452164]
push 0x12
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
mov esi, dword [0x89e864]
add esi, 0x1a2c9
push 0x17
mov cl, 1
call fcn.004149c0
add esp, 4
jmp 0x45204a
mov esi, dword [0x89e864]
add esi, 0x1a2c0
push 0x18
mov cl, 1
call fcn.004149c0
add esp, 4
jmp 0x45204a
push 0x30
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0x5e
xor cl, cl
call fcn.00414860
add esp, 4
jmp 0x45204a
sub eax, 0x1000
cmp eax, 0xf
ja case.0x4517b2.4099
movzx eax, byte [eax + 0x4521a0]
jmp dword [eax*4 + 0x45218c]
push 0x31
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0x32
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0x33
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0x34
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0x35
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
sub eax, 0
je 0x4518bb
dec eax
je 0x45186e
dec eax
jne case.default.0x451be2
mov edx, dword [0x89e864]
add edx, 0x1a2c0
push edx
push 0x19b
push 0x8a3708
call fcn.0044ee40
push eax
lea eax, [esp + 0x68]
push eax
call fcn.0056aefc
add esp, 0xc
push 0
push 0x19e
push 0x8a3708
call fcn.0044ee40
push eax
lea ecx, [esp + 0x68]
push ecx
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp case.default.0x451be2
mov edx, dword [0x89e864]
add edx, 0x1a2d9
push edx
push 0x19a
push 0x8a3708
call fcn.0044ee40
push eax
lea eax, [esp + 0x68]
push eax
call fcn.0056aefc
add esp, 0xc
push 0
push 0x19e
push 0x8a3708
call fcn.0044ee40
push eax
lea ecx, [esp + 0x68]
push ecx
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp case.default.0x451be2
push 0
push 0x19d
push 0x8a3708
call fcn.0044ee40
push eax
push 0x199
jmp 0x451b24
cmp esi, 0x2133
jg 0x4518ff
cmp esi, 0x2131
jge 0x45191c
mov eax, esi
sub eax, 0x2103
je 0x45191c
sub eax, 0xe
je 0x45191c
sub eax, 0x10
je 0x45191c
jmp case.default.0x451be2
mov eax, esi
sub eax, 0x400f
je 0x4520e2
sub eax, 0x2012
je 0x45191c
sub eax, 0x10
jne case.default.0x451be2
movzx eax, word [edx]
cmp eax, 0x2007
jg 0x451d4a
cmp eax, 0x2005
jge case.0x451955.19
cmp eax, 0x20
jg 0x451aa0
je 0x452148
dec eax
cmp eax, 0x1d
ja case.default.0x451be2
movzx edx, byte [eax + 0x4521d0]
jmp dword [edx*4 + 0x4521b0]
test ebp, ebp
jne 0x451977
cmp cx, 0x1031
sete cl
push 4
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0
push 0x19c
push 0x8a3708
call fcn.0044ee40
push eax
push 0x190
jmp 0x451b24
test ebp, ebp
jne 0x4519a8
push 3
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0
push 0x19c
push 0x8a3708
call fcn.0044ee40
push eax
push 0x191
jmp 0x451b24
test ebp, ebp
jne 0x4519df
cmp cx, 0x1031
sete cl
push 0x16
call fcn.00414910
add esp, 4
jmp 0x45204a
push 0
push 0x19d
push 0x8a3708
call fcn.0044ee40
push eax
push 0x192
jmp 0x451b24
test ebp, ebp
jne 0x451a16
cmp cx, 0x1031
sete cl
push 5
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0
push 0x19d
push 0x8a3708
call fcn.0044ee40
push eax
push 0x193
jmp 0x451b24
test ebp, ebp
jne 0x451a4d
cmp cx, 0x1031
sete cl
push 6
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0
push 0x19d
push 0x8a3708
call fcn.0044ee40
push eax
push 0x194
jmp 0x451b24
test ebp, ebp
jne 0x451a84
cmp cx, 0x1031
sete cl
push 7
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0
push 0x19d
push 0x8a3708
call fcn.0044ee40
push eax
push 0x195
jmp 0x451b24
cmp eax, 0x1003
jg 0x451bd4
je 0x451bb5
cmp eax, 0x60
jg 0x451b69
je 0x451b3b
cmp eax, 0x24
je 0x451af8
cmp eax, 0x30
jne case.default.0x451be2
test ebp, ebp
jne 0x451adf
push 0x14
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0
push 0x19d
push 0x8a3708
call fcn.0044ee40
push eax
push 0x197
jmp 0x451b24
test ebp, ebp
jne 0x451b0d
push 0x5c
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0
push 0x19c
push 0x8a3708
call fcn.0044ee40
push eax
push 0x123
push 0x8a3708
call fcn.0044ee40
push eax
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp case.default.0x451be2
test ebp, ebp
jne 0x451b50
push 0x15
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
push 0
push 0x19d
push 0x8a3708
call fcn.0044ee40
push eax
push 0x198
jmp 0x451b24
sub eax, 0x1001
je 0x451b96
dec eax
jne case.default.0x451be2
test ebp, ebp
jne 0x452131
cmp cx, 0x1031
sete cl
push 0xb
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
cmp cx, 0x1031
sete cl
push 0xa
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
cmp cx, 0x1031
sete cl
push 0xc
call fcn.00414860
add esp, 4
jmp 0x45204a
sub eax, 0x2001
cmp eax, 3
ja case.default.0x451be2
jmp dword [eax*4 + 0x4521f0]
test ebp, ebp
jne 0x452131
cmp word [esp + 0x14], 0x1031
push 0xd
sete cl
call fcn.00414860
add esp, 4
push ebp
push 0x5fca9c
push 0x5fb1f4
push ebp
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x45204a
lea esi, [esp + 0x48]
jmp 0x451d2d
test ebp, ebp
jne 0x452131
cmp word [esp + 0x14], 0x1031
push 0xe
sete cl
call fcn.00414860
add esp, 4
push ebp
push 0x5fca9c
push 0x5fb1f4
push ebp
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x45204a
lea esi, [esp + 0x50]
jmp 0x451d2d
test ebp, ebp
jne 0x452131
cmp word [esp + 0x14], 0x1031
push 0xf
sete cl
call fcn.00414860
add esp, 4
push ebp
push 0x5fca9c
push 0x5fb1f4
push ebp
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x45204a
lea esi, [esp + 0x20]
jmp 0x451d2d
test ebp, ebp
jne 0x452131
cmp word [esp + 0x14], 0x1031
push 0x10
sete cl
call fcn.00414860
add esp, 4
push ebp
push 0x5fca9c
push 0x5fb1f4
push ebp
call fcn.004d3b30
mov ebx, 0x1f
mov edi, eax
call fcn.00403270
push eax
call fcn.0056c845
add esp, 0x14
test eax, eax
je 0x45204a
lea esi, [esp + 0x58]
mov dl, 1
push 0
mov cl, dl
call fcn.0044e720
push eax
call fcn.004d3b30
mov ecx, eax
call fcn.0044e8d0
jmp 0x45204a
cmp eax, 0x7004
jg 0x451f1b
je 0x451f02
cmp eax, 0x5013
jg 0x451e56
je 0x451e37
cmp eax, 0x5001
jg 0x451deb
je 0x451dc5
cmp eax, 0x2008
je 0x451da6
cmp eax, 0x3001
jne case.default.0x451be2
test ebp, ebp
jne 0x452131
cmp cx, 0x1031
sete cl
push 0x11
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
cmp cx, 0x1031
sete cl
push 0x2b
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x451ddb
cmp cx, 0x1031
sete cl
push 0x1d
call fcn.00414860
add esp, 4
mov esi, dword [0x89e760]
call fcn.00507d50
jmp case.default.0x451be2
sub eax, 0x5011
je 0x451e18
dec eax
jne case.default.0x451be2
test ebp, ebp
jne 0x452131
cmp cx, 0x1031
sete cl
push 0x1f
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
cmp cx, 0x1031
sete cl
push 0x1e
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
cmp cx, 0x1031
sete cl
push 0x20
call fcn.00414860
add esp, 4
jmp 0x45204a
cmp eax, 0x7001
jg 0x451ec2
je 0x451ea9
cmp eax, 0x6001
je 0x451e8a
cmp eax, 0x7000
jne case.default.0x451be2
test ebp, ebp
jne 0x452131
push 0x37
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
cmp cx, 0x1031
sete cl
push 0x21
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
push 0x38
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
sub eax, 0x7002
je 0x451ee9
dec eax
jne case.default.0x451be2
test ebp, ebp
jne 0x452131
push 0x3a
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
push 0x39
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
push 0x3b
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
cmp eax, 0x8001
jg 0x451fe5
je 0x451fcf
cmp eax, 0x7007
jg 0x451f8e
je 0x451f75
sub eax, 0x7005
je 0x451f5c
dec eax
jne case.default.0x451be2
test ebp, ebp
jne 0x452131
push 0x3d
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
push 0x3c
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
push 0x3e
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
cmp eax, 0x7008
je 0x451fb9
cmp eax, 0x8000
jne case.default.0x451be2
test ebp, ebp
jne 0x452131
push 0x40
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
push 0x3f
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
push 0x41
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
cmp eax, 0xf000
jg 0x4520a8
je 0x45202c
sub eax, 0x8002
je 0x452016
dec eax
jne case.default.0x451be2
test ebp, ebp
jne 0x452131
push 0x43
mov cl, 1
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
push 0x42
xor cl, cl
call fcn.00414860
add esp, 4
jmp 0x45204a
test ebp, ebp
jne 0x452131
push 9
mov cl, 1
call fcn.00414860
push str.ERROR_HACKING_by_RET_USER_ALREADY_LOGINED_n
call fcn.0044e9b0
add esp, 8
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
add esi, 0xfffffffc
mov eax, esi
mov ecx, 0x300
lea ebx, [esp + 0xe0]
call fcn.004c1f40
mov edi, dword [esp + 0x14]
cmp di, 0x1012
je 0x452094
cmp di, 0x1017
je 0x452094
cmp di, 0x1001
je 0x452094
mov ecx, dword [esp + 0x18]
push eax
push ecx
push 0x59e7a8
call fcn.004c20e0
add esp, 0xc
mov edx, dword [esp + 0x10]
push edx
push edi
push esi
call fcn.0040fa10
add esp, 0xc
jmp 0x4514d0
cmp eax, 0xf001
jne case.default.0x451be2
test ebp, ebp
jne 0x4520c6
push 9
mov cl, 1
call fcn.00414860
push str.ERROR_HACKING_by_RET_REG_FAILED_n
jmp 0x452042
push 0
push 0x19d
push 0x8a3708
call fcn.0044ee40
push eax
push 0x196
jmp 0x451b24
mov esi, dword [esp + 0x23e4]
lea ecx, [esi + 0x80bc]
call fcn.0054c230
mov dword [esi + 0x4098], 6
mov word [esi + 0x9c], 0x2000
mov word [esi + 0x9e], 0xffff
mov ecx, dword [esi + 0x4098]
add ecx, 2
push esi
mov dword [esi + 0x4098], ecx
call fcn.00451370
test ebp, ebp
je 0x45204a
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push eax
push esi
push 0x464
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x4514d0
push 0x45
mov cl, 1
call fcn.00414860
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x23d0
ret 8