Function at 0x427bc0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x4508e0]
imul eax, eax, 0x962b6e6a
mov dword [0x4508e0], eax
sub esp, 0x18
fld dword [0x4a93b8]
fadd dword [0x4bd114]
fsub dword [0x4c0860]
fld dword [0x4b0cb0]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x427c10
movzx ecx, word [0x49862e]
imul ecx, ecx, 0x4ef61e59
mov word [0x49862e], cx
jmp 0x427c22
fld dword [0x4bd0e0]
fadd qword [0x467f00]
fstp dword [0x4bd0e0]
or ecx, 0xffffffff
add dword [0x458338], ecx
mov eax, dword [0x458338]
add eax, 0xb49b6647
or dword [0x44b160], eax
fld dword [0x4b8aac]
fadd qword [0x45ecd0]
fld dword [0x4acce0]
fadd qword [0x46cab0]
fadd dword [0x4b95fc]
fld dword [0x4acce0]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x4acce0]
fsubr qword [0x46cab0]
fstp qword [0x46cab0]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x427ca3
mov eax, dword [0x45849c]
mov edx, dword [0x43d154]
or eax, edx
or eax, 0xe535303f
sub dword [0x43dcec], eax
add dword [0x45849c], ecx
inc dword [0x43d154]
and dword [0x43d9d4], 0x2b68d4e4
movzx eax, word [0x49fb2a]
push ebx
push esi
push edi
sub eax, 0x1dfc0bc7
push 0x41
mov word [0x49fb2a], ax
push 0x2b19
xor ebx, ebx
call fcn.0040d0b0
push 4
fld dword [0x4b5600]
push 0x871
fld dword [0x4b871c]
mov dword [ebp - 0xc], eax
fmul qword [0x482390]
fsubp st(1)
fadd dword [0x4bfe0c]
fstp dword [0x4bfe0c]
fld dword [0x4b871c]
fsub qword [0x43af78]
fstp dword [0x4b871c]
call fcn.0040d0b0
mov cx, word [0x498e20]
movsx edx, cx
or edx, 0x2b7bcd30
add esp, 0x10
mov esi, eax
cmp edx, 0x7ffffff7
je 0x427d50
fld dword [0x4a8884]
fsub qword [0x482b98]
fld dword [0x4a94d8]
fcompi st(1)
fstp st(0)
jbe 0x427d50
mov dword [0x44b040], 0xa7d4ee4
lea eax, [ebp - 0x10]
push esi
push eax
call fcn.004220a0
xor dword [0x4596b4], 0xd059837c
push 4
push 0x814
call fcn.0040d0b0
fld dword [0x4b22ec]
fmul qword [0x4913f8]
push esi
push 4
mov edi, eax
fadd dword [0x4be03c]
fadd qword [0x464bd0]
fstp qword [0x464bd0]
fld qword [0x4913f8]
fsub qword [0x43af78]
fstp qword [0x4913f8]
call fcn.00431550
movzx ecx, word [0x49ae2e]
lea edx, [ebp - 0x14]
add ecx, 0x522f22f5
push edi
mov word [0x49ae2e], cx
push edx
call fcn.004220a0
push 4
fld dword [0x4a8ef0]
push 0x3cf7
fmul dword [0x4b5b60]
fadd dword [0x4bf33c]
fmul dword [0x4b2d40]
fstp dword [0x4b2d40]
call fcn.0040d0b0
or dword [0x43f1b0], 0x6874c45e
push edi
push 4
mov esi, eax
call fcn.00431550
dec dword [0x43c840]
mov eax, dword [0x43c840]
add esp, 0x30
cmp eax, 0xefefffb5
jge 0x427e2e
mov ecx, dword [0x44a4dc]
mov eax, 0x82b331d
sub eax, ecx
add dword [0x45891c], eax
lea edx, [ebp - 0x18]
push esi
push edx
call fcn.004220a0
mov eax, dword [0x4581e8]
sub eax, 0x2126faa8
xor eax, 0x5fbcb59
and dword [0x44c3f4], eax
push esi
push 4
call fcn.00431550
fld dword [0x4a8c3c]
fadd qword [0x48aa28]
add esp, 0x10
fsub qword [0x480640]
fadd dword [0x4bf0a4]
fstp dword [0x4bf0a4]
fld1
cmp dword [ebp + 0xc], ebx
je 0x42826a
fld dword [0x4c2de0]
mov edx, dword [ebp + 8]
fld qword [0x475f48]
mov edi, 1
fsub dword [0x4c4024]
sub dword [ebp + 0xc], edi
fadd dword [0x4aebf4]
fsubp st(1)
fstp dword [0x4c2de0]
mov ax, word [0x4a073e]
mov ecx, dword [0x447e50]
cwde
or ecx, eax
or ecx, 0x80116454
mov dword [0x447e50], ecx
mov ecx, dword [0x448280]
mov al, byte [edx]
and ecx, 0xbc581d1d
mov byte [ebp + ebx - 4], al
xor ecx, 0x640667d5
mov dword [0x447ce4], ecx
dec dword [0x448280]
add dword [0x447160], edi
mov edx, dword [0x447160]
add ebx, edi
cmp edx, 0xf5dcdfc6
jg 0x427f0b
xor dword [0x43f4ac], 0x892e5425
add dword [ebp + 8], edi
add dword [0x43e8e8], 0xa9fa8c17
cmp ebx, 3
jne 0x428249
fld qword [0x496830]
fsub dword [0x4c0630]
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
fstp qword [0x496830]
mov eax, dword [0x452160]
movzx ecx, word [0x4a2ce2]
movzx edx, byte [ebp - 4]
not eax
or eax, 0x57e6fcd1
and ecx, eax
mov word [0x4a2ce2], cx
mov eax, dword [0x43cd64]
movzx ecx, word [0x49e66e]
imul eax, eax, 0x760aa702
and dl, bl
sub ecx, eax
shl dl, 4
mov byte [ebp - 7], dl
movzx edx, byte [ebp - 3]
sub ecx, 0x2ec0567c
mov word [0x49e66e], cx
mov ecx, dword [0x441290]
shr dl, 4
add byte [ebp - 7], dl
movzx edx, word [0x499e76]
mov eax, 0xcc0bceb6
sub eax, ecx
add eax, eax
imul edx, eax
movzx eax, byte [ebp - 3]
mov word [0x499e76], dx
and al, 0xf
fld dword [0x4c2e38]
add al, al
fmul dword [0x4b5c44]
add al, al
fld qword [0x492e70]
mov byte [ebp - 6], al
fsub dword [0x4bcbe8]
fxch st(1)
fucompi st(1)
lahf
fstp st(0)
test ah, 0x44
jp 0x427feb
and dword [0x4520d4], 0x2ea8fae2
mov edx, dword [0x44dcbc]
mov cl, byte [ebp - 2]
imul edx, edx, 0x9ff1d16f
mov al, byte [ebp - 2]
shr cl, 6
add byte [ebp - 6], cl
mov dword [0x44dcbc], edx
and al, 0x3f
fld dword [0x4b7aac]
mov byte [ebp - 5], al
fsub qword [0x465260]
xor esi, esi
fstp dword [0x4b7aac]
fld dword [0x4c4ecc]
fsub dword [0x4c1b94]
fstp dword [0x4b65dc]
fld dword [0x4c1b94]
fadd st(1)
fstp dword [0x4c1b94]
cmp byte [ebp + 0x10], 0
fld dword [0x4c2cac]
fsub dword [0x4ab5b0]
fadd dword [0x4bf57c]
fadd dword [0x4bb584]
fstp dword [0x4bb584]
fld dword [0x4c2cac]
fsub st(1)
fstp dword [0x4c2cac]
je 0x4281b4
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x4281b4
add word [0x4a18e0], di
mov eax, dword [0x44c46c]
mov dx, word [0x4a18e0]
movsx edx, dx
sar eax, 0xa
and edx, eax
cmp edx, 0xde8a416f
jne 0x4280ca
mov ax, word [0x49cbb6]
fstp st(0)
mov edx, dword [0x44172c]
cwde
shl eax, 4
or edx, eax
or edx, 0x2b02c4e8
mov dword [0x44172c], edx
jmp 0x428125
mov ax, word [0x499c7c]
mov edx, dword [0x452af0]
cwde
imul eax, eax, 0x46770a9d
sub eax, edx
mov edx, dword [0x441518]
dec dword [0x441518]
imul edx, edx, 0xf62a31f8
xor edx, 0xa4a99b56
cmp eax, edx
jl 0x428109
xor dword [0x452ba4], 0x31fab4a
fstp st(0)
jmp 0x428125
fld dword [0x4ad2ac]
fstp st(0)
fld dword [0x4c1af8]
fstp st(0)
fadd dword [0x4ad2ac]
fstp dword [0x4ad2ac]
cmp cl, 0x3e
jne 0x42814e
xor dword [0x455de8], 0xaab2d0ec
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push eax
call fcn.00409710
fld qword [0x46cca8]
fstp dword [0x4afc1c]
jmp 0x428188
mov eax, dword [0x452d90]
mov ecx, dword [0x4546c4]
shl eax, 9
not ecx
or ecx, eax
cmp ecx, 0x2e800014
jge 0x428172
add dword [0x457d64], 0xebfe0685
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x14]
push edx
call fcn.00409710
and dword [0x43ce94], 0xf3ce0b44
fld dword [0x4ac5e4]
fmul qword [0x466d88]
fmul dword [0x4b4d0c]
fstp dword [0x4b4d0c]
fld qword [0x466d88]
fld1
fadd st(1), st(0)
fxch st(1)
fstp qword [0x466d88]
jmp 0x4281e7
add dword [0x4435ac], 0x58df68a4
fstp st(0)
movzx eax, byte [ebp + esi - 8]
mov ecx, dword [ebp - 0xc]
movzx edx, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00435840
mov eax, dword [0x444564]
fld1
or eax, 0x1006aa23
and dword [0x453f0c], eax
mov ax, word [0x4a045c]
mov edx, dword [0x44f4c8]
cwde
lea ecx, [eax*4]
mov eax, 0xe49d5935
sub eax, edx
and eax, ecx
xor dword [0x4534ec], eax
add dword [0x44f4c8], edi
xor dword [0x459464], 0xbc151b2d
add esi, edi
cmp esi, 4
jne 0x428042
movzx eax, word [0x49850c]
sub eax, 0x210e6cf6
mov word [0x49850c], ax
mov eax, dword [0x44fbdc]
or eax, 0xd48e6ea0
xor ebx, ebx
sub dword [0x43fa80], eax
mov ecx, dword [0x4478e4]
shl ecx, 8
sub ecx, 0x74db53d0
cmp dword [ebp + 0xc], 0
mov dword [0x458750], ecx
jne 0x427e81
jmp 0x42826f
mov edi, 1
fld dword [0x4be1a0]
fadd dword [0x4c4744]
fmul qword [0x46d310]
fstp qword [0x46d310]
test ebx, ebx
je 0x428809
cmp ebx, 3
fld dword [0x4c0e08]
fld dword [0x4c0c04]
mov edx, 0xffffcfbf
fmul dword [0x4c5454]
fsubp st(1)
fstp dword [0x4c0e08]
mov word [0x4a088e], dx
jge 0x428365
mov esi, 3
fstp st(0)
sub esi, ebx
push esi
lea eax, [ebp + ebx - 4]
push 0
push eax
call fcn.0040aa50
fld1
add esp, 0xc
fld dword [0x4ba314]
fsub dword [0x4bc3cc]
fld dword [0x4ae844]
fld dword [0x4ae844]
fsub st(3)
fstp dword [0x4ae844]
fcompi st(1)
fstp st(0)
jb 0x428311
movzx eax, word [0x49f266]
or eax, 0xc3b81c09
mov word [0x49f266], ax
fld qword [0x483c38]
fstp dword [0x4b054c]
mov eax, dword [0x44513c]
mov ecx, dword [0x4434e0]
dec dword [0x44513c]
imul ecx, ecx, 0x28fc224f
or eax, 0xd2ffff50
cmp eax, ecx
jle 0x42835d
fld dword [0x4b05c0]
fsub dword [0x4b1644]
fstp qword [0x47b358]
fld dword [0x4b1644]
fsub st(1)
fstp dword [0x4b1644]
sub esi, edi
jne 0x4282d9
mov edx, dword [0x448158]
mov eax, dword [0x447b8c]
mov cl, byte [ebp - 4]
or edx, eax
shr cl, 2
mov dword [0x448158], edx
mov byte [ebp - 8], cl
add dword [0x454f44], edi
mov dx, word [0x49de42]
mov ecx, dword [0x454f44]
add word [0x49de42], di
movsx eax, dx
imul eax, eax, 0xa1f2815d
cmp ecx, eax
jge 0x4283c1
add dword [0x445d64], edi
mov edx, dword [0x448a94]
mov eax, dword [0x445d64]
sub eax, edx
mov word [0x4a2b5c], ax
mov cl, byte [ebp - 4]
and cl, 3
shl cl, 4
mov byte [ebp - 7], cl
add dword [0x440548], 0x48969417
mov eax, dword [0x4569a4]
mov ecx, dword [0x43dc60]
movzx edx, byte [ebp - 3]
shr dl, 4
add byte [ebp - 7], dl
or eax, ecx
mov dword [0x4569a4], eax
add dword [0x43dc60], edi
movzx edx, byte [ebp - 3]
and dl, 0xf
add dl, dl
add dl, dl
mov byte [ebp - 6], dl
xor dword [0x4556fc], 0xd7ffdd3e
mov al, byte [ebp - 2]
fld dword [0x4bc96c]
shr al, 6
fsub dword [0x4b2048]
add byte [ebp - 6], al
fld dword [0x4b7100]
fsub qword [0x464be8]
fadd dword [0x4aca70]
fld dword [0x4aca70]
fadd st(3)
fstp dword [0x4aca70]
fcompi st(1)
fstp st(0)
jbe 0x428498
mov cx, word [0x49c506]
movsx edx, cx
and edx, 0x55b76ec4
xor edx, 0xbfb650fc
cmp edx, 0x3cc9904d
jne 0x428498
fld dword [0x4ad9c8]
fstp st(0)
fld dword [0x4acf30]
fstp st(0)
fld dword [0x4c0ffc]
fstp st(0)
fld dword [0x4ac20c]
fstp st(0)
fld dword [0x4c0ffc]
fsub st(1)
fstp dword [0x4c0ffc]
mov al, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
mov eax, dword [0x44473c]
add eax, 0xf2dea51
or dword [0x443df8], eax
add word [0x4a1c9c], di
mov eax, dword [0x442004]
mov ecx, dword [0x44fe9c]
mov dx, word [0x4a1c9c]
or eax, ecx
movsx ecx, dx
xor esi, esi
cmp eax, ecx
jg 0x4284fc
fld dword [0x4c2718]
fld dword [0x4aa508]
fadd qword [0x496958]
fsubp st(1)
fstp dword [0x4c2718]
fadd dword [0x4aa508]
fstp dword [0x4aa508]
jmp 0x4284fe
fstp st(0)
mov edi, 0x9824a042
jmp 0x428510
mov eax, dword [0x459784]
or edx, 0xffffffff
add dword [0x459784], edx
cmp eax, 0xd97a9828
jne 0x428531
and dword [0x453328], 0x17f97e07
jmp 0x428545
mov ecx, dword [0x45a944]
mov eax, dword [0x4533e8]
imul ecx, eax
mov dword [0x45a944], ecx
cmp esi, ebx
jg 0x4286be
movzx ecx, word [0x4a58b8]
xor ecx, 0xe185c4cc
cmp byte [ebp + 0x10], 0
mov word [0x4a58b8], cx
je 0x428646
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x428646
fld dword [0x4bf08c]
fsub dword [0x4a7f30]
fstp dword [0x4b4330]
cmp al, 0x3e
jne 0x4285dd
mov eax, dword [0x459640]
mov cx, word [0x49a7fc]
add dword [0x459640], edx
movsx ecx, cx
add eax, 0x5fd7b882
not ecx
or ecx, eax
cmp ecx, 0xb1351cdf
jle 0x4285c5
fld qword [0x496a00]
fsub dword [0x4c0a40]
fstp qword [0x496a00]
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x10]
push edx
call fcn.00409710
add dword [0x458ae0], 0xe17bf5d9
jmp 0x428605
fld dword [0x4aeee0]
mov ecx, dword [ebp + 0x14]
fadd dword [0x4c0508]
lea eax, [ebp - 0x14]
push eax
fstp qword [0x48b358]
call fcn.00409710
xor dword [0x4479cc], 0xd49e2bc4
fld dword [0x4a9360]
fsub qword [0x46e490]
fld qword [0x492228]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x42869e
mov eax, dword [0x43fb74]
movzx ecx, word [0x4a06a6]
imul eax, eax, 0xe1f4b568
and eax, 0x3e95abc4
imul ecx, eax
mov word [0x4a06a6], cx
jmp 0x42869e
fld dword [0x4b2370]
mov eax, dword [ebp - 0xc]
fmul qword [0x479e98]
fadd qword [0x465020]
fadd dword [0x4b9854]
movzx edx, byte [ebp + esi - 8]
fstp dword [0x4b9854]
movzx ecx, byte [edx + eax]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.00435840
mov edx, dword [0x4566ec]
cmp edx, 0x48cc5580
je 0x42869e
mov eax, dword [0x44ce4c]
sar eax, 5
sub eax, 0x7497e99
or eax, 0xf4e24ec2
mov dword [0x442414], eax
and dword [0x43c5d4], edi
movzx ecx, word [0x4a3952]
inc esi
and ecx, 0x40b60718
mov word [0x4a3952], cx
jmp 0x428510
mov ecx, dword [0x456cc4]
mov eax, 0xc377dbdf
sub eax, ecx
mov ecx, dword [0x4535c8]
or ecx, eax
mov eax, dword [0x4413b0]
add dword [0x456cc4], edx
inc dword [0x4413b0]
or eax, 0x4a3c0ca4
cmp eax, ecx
jle 0x4286ff
fld dword [0x4be9ac]
fsub dword [0x4a8e6c]
fstp dword [0x4be9ac]
cmp ebx, 3
jge 0x4287f8
mov esi, 3
sub esi, ebx
mov edi, 0x92728a
mov ebx, 0xa664b07c
lea esp, [esp]
add dword [0x44c0b4], edi
add dword [0x4459fc], ebx
cmp byte [ebp + 0x10], 0
je 0x42876e
fld dword [0x4ab220]
lea ecx, [ebp - 0x18]
fadd dword [0x4afa64]
push ecx
mov ecx, dword [ebp + 0x14]
fmul dword [0x4be0b8]
fstp dword [0x4be0b8]
call fcn.00409710
mov eax, dword [0x4454b8]
or eax, 0x59acf16
add dword [0x457fa0], eax
dec dword [0x4454b8]
jmp 0x4287c8
fld dword [0x4a7dfc]
mov ecx, dword [ebp + 0x14]
fsub dword [0x4c4fa0]
push 0x3d
fsub dword [0x4b8758]
fstp dword [0x4bdd88]
call fcn.00435840
mov edx, dword [0x43f040]
mov eax, dword [0x445aa4]
dec dword [0x445aa4]
imul edx, eax
cmp edx, 0xcb142612
jle 0x4287c8
mov cx, word [0x49958a]
movsx edx, cx
mov eax, 0xad7bb355
sub eax, edx
or eax, 0x546877d2
add dword [0x44edc8], eax
mov eax, dword [0x44c7c0]
mov ecx, dword [0x4597d0]
xor eax, 0x9e9358e3
or ecx, eax
movzx eax, word [0x4a27de]
add eax, ecx
mov word [0x4a27de], ax
inc dword [0x44c7c0]
sub esi, 1
jne 0x428720
or dword [0x456d48], 0x3513862
mov edi, 1
jmp 0x42880b
fstp st(0)
mov ecx, dword [0x454e9c]
mov edx, dword [ebp - 0xc]
imul ecx, ecx, 0x9b9344fc
push edx
mov dword [0x454e9c], ecx
push 0x41
call fcn.00431550
add word [0x4a49bc], di
mov eax, dword [0x43d3a4]
mov cx, word [0x4a49bc]
add esp, 8
movsx edx, cx
pop edi
or eax, 0x8fff7ebf
pop esi
pop ebx
cmp eax, edx
je 0x428874
fld dword [0x4bb854]
fld qword [0x48d3b0]
fcompi st(1)
fstp st(0)
jbe 0x428874
mov eax, dword [0x43f024]
add eax, 0x2f03ccd2
xor eax, 0x5a41a330
mov word [0x4985ca], ax
push 4
lea ecx, [ebp - 0x10]
push 0
push ecx
call fcn.0040aa50
fld dword [0x4b7808]
fmul qword [0x475078]
add esp, 0xc
fadd qword [0x471dd8]
fld dword [0x4b2024]
fcompi st(1)
fstp st(0)
jbe 0x4288b6
movzx edx, word [0x49d502]
sub edx, 0x6fa058bf
mov word [0x49d502], dx
push 4
lea eax, [ebp - 0x14]
push 0
push eax
call fcn.0040aa50
fld dword [0x4bd95c]
fld dword [0x4b3094]
add esp, 0xc
fcompi st(1)
fstp st(0)
jbe 0x4288eb
mov ecx, dword [0x44c740]
imul ecx, ecx, 0x990e3028
mov word [0x4a0314], cx
push 4
lea edx, [ebp - 0x18]
push 0
push edx
call fcn.0040aa50
fld dword [0x4bd858]
fadd qword [0x472730]
add esp, 0xc
fstp dword [0x4bd858]
fld qword [0x472730]
fadd qword [0x43af78]
fstp qword [0x472730]
mov esp, ebp
pop ebp
ret