Function at 0x4487d0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x64916c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ebx
imul edi, edi, 0x155d
movzx eax, word [edi + 0x66d87e]
push eax
call fcn.00536c00
push 0x3f
lea ecx, [ebp - 0x83]
push 0
push ecx
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0x84], 0
call fcn.0059ea70
mov eax, dword [0x5dfe80]
add eax, 0xfffffc00
cdq
sub eax, edx
add esp, 0x10
sar eax, 1
mov dword [ebp - 0x8c], eax
jns 0x448842
mov dword [ebp - 0x8c], 0
mov eax, dword [0x5dfe84]
add eax, 0xfffffd00
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x9c], eax
jns 0x448863
mov dword [ebp - 0x9c], 0
cmp ebx, dword [reloc.MSVCRT.dll_strncpy]
jne 0x448878
xor eax, eax
mov dword [ebp - 0x90], eax
lea ebx, [eax + 0x10]
jmp 0x44888d
mov dword [ebp - 0x90], reloc.MSVCRT.dll_strncpy
mov eax, dword [ebp - 0x90]
mov ebx, 8
cmp dword [edi + reloc.MSVCRT.dll_strncpy], 0
push 0
push 0
push 0
push 0
push eax
jne 0x4488c6
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push edx
push eax
push 0x5c2378
push esi
call fcn.0042e6b0
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059ea5e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
push edx
push 0x5c235c
push esi
call fcn.0042e6b0
mov edx, dword [esi + 0xc]
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
add ecx, dword [ebp - 0x8c]
push edx
mov edx, dword [ebp - 0x90]
push 0
mov dword [ebp - 0xa4], eax
push edx
add eax, 0xd
push eax
mov eax, dword [edi + reloc.MSVCRT.dll_strncpy]
mov dword [ebp - 0x9c], ecx
add ecx, 0xb
push ecx
push eax
call fcn.0043e820
add esp, 0x3c
test dword [edi + reloc.MSVCRT.dll_strncpy], 0x4000000
je 0x4489e4
mov eax, dword [edi + reloc.MSVCRT.dll_strncpy]
cdq
mov ecx, 0x15180
idiv ecx
mov ecx, 0xe10
mov dword [ebp - 0x98], eax
mov eax, edx
cdq
idiv ecx
mov dword [ebp - 0x8c], eax
mov ecx, edx
mov eax, 0x88888889
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x98]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
test ecx, ecx
jle 0x448983
push ecx
push 0x4ff0
call fcn.00531d80
add esp, 4
push eax
lea edx, [ebp - 0x44]
push edx
jmp 0x4489b5
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
jle 0x4489a2
push ecx
push 0x4ff1
call fcn.00531d80
add esp, 4
push eax
lea eax, [ebp - 0x44]
push eax
jmp 0x4489b5
push eax
push 0x4ff3
call fcn.00531d80
add esp, 4
push eax
lea ecx, [ebp - 0x44]
push ecx
call dword [fcn.005c02cc]
mov edx, dword [ebp + 0x10]
add esp, 0xc
push 3
push 1
push 2
push 2
push 1
push 0
push 0x64
push 0x10e
push 0x14
push edx
lea eax, [ebp - 0x44]
push eax
push esi
call fcn.00430f30
add esp, 0x30
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
push 0x34
add ecx, 0xce
push ecx
add eax, 0x11
push eax
push 0x4ed1
call fcn.00531d80
add esp, 4
push eax
push esi
call fcn.0042e4f0
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0xed
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x11
push eax
push 0x4ef8
call fcn.00531d80
add esp, 4
push eax
push esi
call fcn.0042e4f0
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0x10c
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x11
push eax
push 0x3d
call fcn.00531d80
add esp, 4
push eax
push esi
call fcn.0042e4f0
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0x12b
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x11
push eax
push 0x3e
call fcn.00531d80
add esp, 4
push eax
push esi
call fcn.0042e4f0
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0x14a
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x11
push eax
push 0x3f
call fcn.00531d80
add esp, 4
push eax
push esi
call fcn.0042e4f0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
push 0x34
add ecx, 0x10c
push ecx
add eax, 0x8c
push eax
push 0x40
call fcn.00531d80
add esp, 4
push eax
push esi
call fcn.0042e4f0
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0x12b
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x8c
push eax
push 0x41
call fcn.00531d80
add esp, 4
push eax
push esi
call fcn.0042e4f0
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
mov eax, dword [ebp + 0x14]
add eax, 0x14a
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x8c
push eax
push 0x42
call fcn.00531d80
add esp, 4
push eax
push esi
call fcn.0042e4f0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x7a
add eax, 0xd
push eax
add ecx, 0x3e
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push esi
call fcn.0042e4f0
mov eax, dword [ebp + 0x14]
add esp, 0x68
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x5a
add eax, 0xd
push eax
mov eax, dword [ebp + 0x10]
add eax, 0xb2
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
push esi
call fcn.0042e4f0
mov eax, dword [ebp - 0x9c]
mov edx, dword [0x652fa4]
movzx ecx, word [edi + 0x66d867]
add esp, 0x34
add eax, 0x25
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x88], eax
lea esp, [esp]
push 0
mov eax, 0x66666667
imul ecx
push 0
push 0
sar edx, 2
push 0
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esi + 0xc]
push 0
push 0
mov dword [ebp - 0x98], eax
push 0
push edx
mov edx, dword [ebp - 0xa0]
lea eax, [eax + eax*4]
add eax, eax
sub edx, eax
mov eax, dword [ebp - 0xa4]
add edx, ecx
mov ecx, dword [ebp - 0x90]
push edx
add eax, 0x89
push eax
mov eax, dword [ebp - 0x88]
push eax
push ecx
call fcn.00541cc0
mov ecx, dword [ebp - 0x98]
sub dword [ebp - 0x88], 7
add esp, 0x30
test ecx, ecx
jg 0x448c20
movzx eax, word [edi + 0x66d867]
mov edx, dword [edi + reloc.MSVCRT.dll_strncpy]
push eax
mov dword [ebp - 0x8c], edx
call fcn.00522d40
push eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x8c]
push eax
push 0x64
call fcn.004a3450
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x8c]
push 0
push ecx
push edx
mov dword [ebp - 0x88], eax
call fcn.004a34b0
fmul qword [0x5c0520]
call fcn.0059ebf0
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp + 0x14]
push 0x64
push ecx
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x90]
push 0
or eax, 0x1000000
push 0
push eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0x10]
add edx, 0x89
push edx
add eax, 0x2e
push eax
push 0x5c2344
push esi
call fcn.0042e6b0
mov ecx, dword [ebp - 0x9c]
add ecx, 0xf4
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0x94]
add esp, 0x40
mov dword [ebp - 0x8c], 0
test ecx, ecx
js 0x448e35
jmp 0x448d56
mov ecx, dword [ebp - 0x94]
mov eax, 0x66666667
imul ecx
push 0
push 0
sar edx, 2
push 0
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esi + 0xc]
push 0
mov dword [ebp - 0x94], eax
push 0
lea eax, [eax + eax*4]
push 0
add eax, eax
sub ecx, eax
add ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa4]
push 0
push edx
mov edx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x88]
add eax, 0x89
push eax
push ecx
push edx
call fcn.00541cc0
add esp, 0x30
cmp dword [ebp - 0x8c], 1
jne 0x448e04
mov ecx, dword [esi + 0xc]
mov edx, dword [0x652fa8]
mov eax, dword [ebp - 0x88]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
sub eax, 3
add ecx, 0x89
push ecx
push eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x90]
push eax
call fcn.00541cc0
add esp, 0x30
sub dword [ebp - 0x88], 2
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
sub dword [ebp - 0x88], 6
inc eax
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x8c], eax
cmp eax, 3
jl 0x448d50
test ecx, ecx
jg 0x448d50
mov edx, dword [edi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [edi + reloc.MSVCRT.dll_strncpy]
push edx
push eax
push 0x5c1934
push 0x6b7d14
call dword [fcn.005c02cc]
movzx edx, byte [edi + 0x66d7ca]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
push 0x64
push edx
mov edx, dword [ebp - 0x98]
push 0
push 0
push edx
add eax, 0x5c
push eax
add ecx, 0x14
push ecx
push 0x5c232c
push esi
call fcn.0042e6b0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 9
push 0
push 1
push 0xf
push 0xc2
add ecx, 0x5d
push ecx
add eax, 0x2a
push eax
push 0x6b7d14
push esi
call fcn.0042e4f0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
add esp, 0x68
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0xf
push 0xc2
add eax, 0x5c
push eax
add ecx, 0x29
push ecx
push 0x6b7d14
push esi
call fcn.0042e4f0
add esp, 0x34
cmp word [edi + 0x66d85b], 0
jbe 0x448ffc
push 0x5c2310
call fcn.0054ff90
movzx ecx, word [edi + 0x66d85b]
mov dword [ebp - 0x8c], eax
mov eax, 0x10624dd3
imul ecx
mov ecx, dword [ebp - 0x8c]
push 0x64
push 0x64
sar edx, 5
push 0
mov eax, edx
add ecx, edx
mov edx, dword [ebp + 0x14]
push 0
shr eax, 0x1f
add eax, ecx
mov ecx, dword [ebp + 0x10]
push 0x1000000
add edx, 0x25
push edx
add ecx, 0x43
push ecx
push eax
push esi
call fcn.0042e610
add esp, 0x28
fld qword [0x671838]
fadd qword [0x5c2308]
fst qword [0x671838]
fld qword [0x5c2300]
fst qword [0x671830]
fld qword [0x5c22f8]
fst qword [0x671828]
fld1
fcomp st(3)
fnstsw ax
test ah, 0x41
jp 0x448f85
fstp st(2)
fldz
fst qword [0x671838]
fxch st(2)
sub esp, 0x18
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.0048cef0
movzx ecx, word [edi + 0x66d85b]
mov dword [ebp - 0x8c], eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea ecx, [ebp - 0x84]
push 0x5c0624
push ecx
call dword [fcn.005c02cc]
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp + 0x14]
push 4
push 1
push 2
push edx
push 0
push 1
push 0x14
push 0x28
add eax, 0x2f
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x43
push eax
lea ecx, [ebp - 0x84]
push ecx
push esi
call fcn.00430f30
add esp, 0x54
push 0x5c22d4
call fcn.0054ff90
movzx edx, word [edi + 0x66d85d]
mov dword [ebp - 0xa0], eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
xor ecx, ecx
add eax, edx
add esp, 4
mov dword [ebp - 0x94], ecx
test eax, eax
jle 0x4490d0
jmp 0x449046
mov ecx, dword [ebp - 0x94]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
add edx, edx
sub ecx, edx
mov edx, ecx
shl edx, 4
sub edx, ecx
mov ecx, dword [ebp - 0x9c]
lea ecx, [edx + ecx + 0x71]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0xa4]
lea eax, [eax + edx*2 + 0x42]
lea edx, [eax + 0x64]
push edx
lea edx, [ecx + 0x64]
push edx
mov edx, dword [esi + 0xc]
push eax
push ecx
push 0
push 0
push 0
push edx
mov edx, dword [ebp - 0xa0]
push edx
push eax
push ecx
push 0x1000000
call fcn.00541cc0
movzx ecx, word [edi + 0x66d85d]
inc dword [ebp - 0x94]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x30
cmp dword [ebp - 0x94], eax
jl 0x449040
mov ecx, dword [edi + reloc.MSVCRT.dll_strncpy]
mov edx, dword [edi + reloc.MSVCRT.dll_strncpy]
push ecx
push edx
push 0x5c1934
push 0x6b7d14
call dword [fcn.005c02cc]
movzx eax, byte [edi + 0x66d7cb]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp + 0x14]
push 0x64
push eax
mov eax, dword [ebp + 0x10]
push 0
push 0
push ecx
add edx, 0x6d
push edx
add eax, 0x14
push eax
push 0x5c22bc
push esi
call fcn.0042e6b0
mov eax, dword [ebp + 0x14]
push ebx
push 4
push 1
push 2
push 9
push 0
push 1
push 0xc
push 0xc2
add eax, 0x6f
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x2a
push eax
push 0x6b7d14
push esi
call fcn.0042e4f0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
add esp, 0x68
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0xc
push 0xc2
add ecx, 0x6e
push ecx
add eax, 0x29
push eax
push 0x6b7d14
push esi
call fcn.0042e4f0
mov eax, dword [ebp - 0xa8]
add esp, 0x34
test eax, eax
je 0x4491c1
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + 4]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x82
add edx, 0xd2
push edx
add ecx, 0x48
push ecx
push eax
call fcn.00531d80
add esp, 4
push eax
push esi
call fcn.0042e4f0
add esp, 0x34
movzx edx, byte [edi + 0x66e762]
movzx eax, byte [edi + 0x66d869]
push edx
push eax
call fcn.00430710
add esp, 8
test eax, eax
je 0x449211
cmp byte [eax], 0
je 0x449211
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x82
add ecx, 0xf1
push ecx
add edx, 0x48
push edx
push eax
push esi
call fcn.0042e4f0
add esp, 0x34
movzx ecx, word [edi + 0x66d92d]
mov eax, dword [ebp + 0x14]
push ecx
add eax, 0x110
push 0x5c0624
push 0x6b7d14
mov dword [ebp - 0x90], eax
call dword [fcn.005c02cc]
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
push edx
add eax, 0x48
push eax
push 0x6b7d14
push esi
call fcn.0042e4f0
movzx eax, word [edi + 0x66d92f]
add esp, 0x40
push eax
push 0x5c0624
push 0x6b7d14
call dword [fcn.005c02cc]
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
add ecx, 0x1f
push ecx
add eax, 0x48
push eax
push 0x6b7d14
push esi
call fcn.0042e4f0
movzx edx, word [edi + 0x66d935]
add esp, 0x40
push edx
push 0x5c0624
push 0x6b7d14
call dword [fcn.005c02cc]
mov eax, dword [ebp - 0x90]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
add eax, 0x3e
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x48
push eax
push 0x6b7d14
push esi
call fcn.0042e4f0
movzx edx, word [edi + 0x66d931]
mov ecx, dword [ebp + 0x10]
add esp, 0x40
push edx
add ecx, 0xc3
push 0x5c0624
mov dword [ebp - 0x88], ecx
push 0x6b7d14
call dword [fcn.005c02cc]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
push eax
push ecx
push 0x6b7d14
push esi
call fcn.0042e4f0
movzx edx, word [edi + 0x66d933]
add esp, 0x40
push edx
push 0x5c0624
push 0x6b7d14
call dword [fcn.005c02cc]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
add eax, 0x1f
push eax
push ecx
push 0x6b7d14
push esi
call fcn.0042e4f0
movzx edx, word [edi + 0x66d937]
add esp, 0x40
push edx
push 0x5c0624
push 0x6b7d14
call dword [fcn.005c02cc]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
add eax, 0x3e
push eax
push ecx
push 0x6b7d14
push esi
call fcn.0042e4f0
mov ecx, dword [ebp - 4]
add esp, 0x40
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0059ea5e
mov esp, ebp
pop ebp
ret