Function at 0x176c9a
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
push edi
xor ebp, ebp
mov dword [esp + 0x34], 0x873c1
mov edi, ecx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], edi
mov ebx, 0xfe289
mov dword [esp + 0x3c], ebp
mov eax, 0x95094
cmp ebx, 0x13f4c
je 0x176f48
cmp ebx, 0x40bd4
je 0x17723e
cmp ebx, eax
je 0x176cf2
cmp ebx, 0xfe289
jne 0x177230
mov ebx, 0x13f4c
jmp 0x176cc3
mov dword [esp + 0x18], 0x394925
xor edx, edx
or dword [esp + 0x18], 0x8f209b92
mov eax, dword [esp + 0x18]
push 0x15
pop ecx
div ecx
push 0x4e
mov dword [esp + 0x1c], eax
xor edx, edx
imul eax, dword [esp + 0x1c], 0xf
pop ecx
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x66498541
mov dword [esp + 0x14], 0x3e5d1d
mov eax, dword [esp + 0x14]
div ecx
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x19df85b1
shr dword [esp + 0x14], 0xc
xor dword [esp + 0x14], 0x9b1f2
mov dword [esp + 0x24], 0xdcb244
imul eax, dword [esp + 0x24], 0x55
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0x4942677a
mov dword [esp + 0x10], 0x27b7bd
or dword [esp + 0x10], 0xf3572b87
add dword [esp + 0x10], 0xffff1349
shr dword [esp + 0x10], 0xe
xor dword [esp + 0x10], 0xbb131
push dword [esp + 0x10]
push dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
push 0x16126c
call fcn.0016e533
mov dword [esp + 0x30], 0xd4c81
mov esi, eax
add dword [esp + 0x30], 0xffff0d4d
add esp, 0xc
imul eax, dword [esp + 0x24], 0x3f
mov dword [esp + 0x24], eax
xor dword [esp + 0x24], 0x30ff631
mov dword [esp + 0x28], 0x5218df
shr dword [esp + 0x28], 9
xor dword [esp + 0x28], 0x2d3cd
mov dword [esp + 0x20], 0x3bb025
xor dword [esp + 0x20], 0x52d15dc1
shr dword [esp + 0x20], 5
xor dword [esp + 0x20], 0x29a7143
mov dword [esp + 0x14], 0x6442ca
imul eax, dword [esp + 0x14], 0x39
mov dword [esp + 0x14], eax
add dword [esp + 0x14], 0xffffd403
add dword [esp + 0x14], 0x8950
xor dword [esp + 0x14], 0x16572730
mov dword [esp + 0x18], 0x7cd12b
shl dword [esp + 0x18], 2
add dword [esp + 0x18], 0xecf2
imul eax, dword [esp + 0x18], 0x3d
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x7723210d
mov dword [esp + 0x1c], 0xa5bd24
imul eax, dword [esp + 0x1c], 0x30
mov dword [esp + 0x1c], eax
shr dword [esp + 0x1c], 1
xor dword [esp + 0x1c], 0xf8788f8
mov dword [esp + 0x10], 0xca88fb
xor dword [esp + 0x10], 0xa7dcf5e0
add dword [esp + 0x10], 0xffff5075
xor dword [esp + 0x10], 0xa71f8447
push dword [esp + 0x10]
push ecx
push dword [esp + 0x24]
push dword [esp + 0x24]
push esi
push dword [esp + 0x28]
push dword [esp + 0x44]
push dword [edi]
push ecx
push dword [esp + 0x44]
push dword [edi + 4]
push dword [esp + 0x54]
mov ecx, dword [0x18221c]
mov edx, dword [esp + 0x54]
lea ecx, [ecx + 0x60]
call fcn.00174fe3
mov dword [esp + 0x4c], 0x8d715d
xor ecx, ecx
inc ecx
mov ebx, 0x40bd4
test eax, eax
push 0x64
cmove ebp, ecx
shr dword [esp + 0x50], 3
or dword [esp + 0x50], 0x57a88aa2
xor edx, edx
xor dword [esp + 0x50], 0x57b00155
mov dword [esp + 0x54], 0xbe137a
mov eax, dword [esp + 0x54]
pop ecx
div ecx
push esi
mov dword [esp + 0x54], eax
shr dword [esp + 0x54], 7
xor dword [esp + 0x54], 0x183f6
mov dword [esp + 0x58], 0x2e3dd0
or dword [esp + 0x58], 0x520ee8da
add dword [esp + 0x58], 0xffff7a50
xor dword [esp + 0x58], 0x5222b59b
push dword [esp + 0x58]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
call fcn.00164fd3
add esp, 0x38
jmp 0x176cbe
mov dword [esp + 0x14], 0x2bd2f4
xor edx, edx
shr dword [esp + 0x14], 0xe
xor dword [esp + 0x14], 0xb0b67272
add dword [esp + 0x14], 0xffff9769
xor dword [esp + 0x14], 0xb0b68411
mov dword [esp + 0x24], 0xaa4ca5
add dword [esp + 0x24], 0x7b62
xor dword [esp + 0x24], 0xab9da2
mov dword [esp + 0x28], 0xa81ead
mov eax, dword [esp + 0x28]
push 0x33
pop ecx
div ecx
push 5
mov dword [esp + 0x2c], eax
xor edx, edx
xor dword [esp + 0x2c], 0x37943
mov dword [esp + 0x1c], 0xad7de2
imul eax, dword [esp + 0x1c], 0x12
pop ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
div ecx
mov dword [esp + 0x18], eax
add dword [esp + 0x18], 0xffff2243
xor dword [esp + 0x18], 0x260cb7c
push dword [esp + 0x18]
push dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
push 0x16137c
call fcn.0016e533
mov dword [esp + 0x2c], 0xc9bae8
mov edi, eax
imul eax, dword [esp + 0x2c], 6
xor edx, edx
push 0x7c
pop ecx
mov dword [esp + 0x2c], eax
add dword [esp + 0x2c], 0xffff15a6
xor dword [esp + 0x2c], 0x4b2c614
mov dword [esp + 0x34], 0xc1b413
xor dword [esp + 0x34], 0x6f0c0796
xor dword [esp + 0x34], 0x6fc7cead
mov dword [esp + 0x24], 0xa34dbc
or dword [esp + 0x24], 0x39b8d45d
mov eax, dword [esp + 0x24]
div ecx
mov dword [esp + 0x24], eax
or dword [esp + 0x24], 0xe03b0ad9
xor dword [esp + 0x24], 0xe0732f9f
mov dword [esp + 0x30], 0x43dc0
shr dword [esp + 0x30], 2
shr dword [esp + 0x30], 7
xor dword [esp + 0x30], 0xaf907
push dword [esp + 0x30]
push dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
push 0x16121c
call fcn.0016e533
mov dword [esp + 0x38], 0x3cac4e
mov esi, eax
add dword [esp + 0x38], 0xffffd682
xor dword [esp + 0x38], 0x32f2dc
mov dword [esp + 0x3c], 0x927b06
add dword [esp + 0x3c], 0xffff7f72
add dword [esp + 0x3c], 0xe99d
xor dword [esp + 0x3c], 0x93bce9
mov dword [esp + 0x40], 0x33a09a
add dword [esp + 0x40], 0x9171
xor dword [esp + 0x40], 0x3c4a48
mov dword [esp + 0x30], 0x47f590
shr dword [esp + 0x30], 0xd
add dword [esp + 0x30], 0x3a48
add dword [esp + 0x30], 0x799a
xor dword [esp + 0x30], 0xf10
push dword [esp + 0x30]
push esi
push dword [esp + 0x48]
push dword [esp + 0x48]
lea edx, [esp + 0x54]
push edi
push dword [esp + 0x4c]
call fcn.00162ed2
mov dword [esp + 0x44], 0x651cb4
test eax, eax
mov eax, 0x95094
mov ebx, 0x24d90
cmove ebx, eax
shr dword [esp + 0x44], 0xe
add dword [esp + 0x44], 0xffff43e9
xor edx, edx
xor dword [esp + 0x44], 0xc3360ada
xor dword [esp + 0x44], 0x3cca4128
mov dword [esp + 0x48], 0x85d774
imul eax, dword [esp + 0x48], 0x5e
push 0x7d
pop ecx
push 0x57
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
div ecx
pop ecx
mov dword [esp + 0x48], eax
xor edx, edx
shr dword [esp + 0x48], 0xb
xor dword [esp + 0x48], 0x24030
mov dword [esp + 0x54], 0x84528f
add dword [esp + 0x54], 0x1d19
mov eax, dword [esp + 0x54]
div ecx
push edi
mov dword [esp + 0x58], eax
xor dword [esp + 0x58], 0xe8db4
push dword [esp + 0x58]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
call fcn.00164fd3
mov dword [esp + 0x5c], 0xb7a4b8
xor edx, edx
imul eax, dword [esp + 0x5c], 0x69
push 0x61
pop ecx
push esi
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], 0x4b53d08d
mov dword [esp + 0x54], 0xff6a3c
add dword [esp + 0x54], 0xa9bc
mov eax, dword [esp + 0x54]
div ecx
mov dword [esp + 0x54], eax
shr dword [esp + 0x54], 4
xor dword [esp + 0x54], 0x4353a
mov dword [esp + 0x64], 0xcd5b99
shr dword [esp + 0x64], 6
xor dword [esp + 0x64], 0x2fada
push dword [esp + 0x64]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x64]
call fcn.00164fd3
mov edi, dword [esp + 0x70]
add esp, 0x40
mov eax, 0x95094
cmp ebx, 0x24d90
jne 0x176cc3
jmp 0x1772a5
mov dword [esp + 0x24], 0x839abe
xor edx, edx
or dword [esp + 0x24], 0xb4f9d8aa
mov eax, dword [esp + 0x24]
push 0x24
pop ecx
div ecx
push 0x3f
mov dword [esp + 0x28], eax
xor edx, edx
xor dword [esp + 0x28], 0x50482de
mov dword [esp + 0x1c], 0xf20553
xor dword [esp + 0x1c], 0x781615af
shr dword [esp + 0x1c], 2
mov eax, dword [esp + 0x1c]
pop ecx
div ecx
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x7750a2
push dword [esp + 0x18]
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.00179716
pop ecx
pop ecx
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x30
ret