Function at 0x4174af
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
push 0x10
call fcn.00436f4f
add esp, 4
mov dword [ebp - 0x1c], eax
mov edi, eax
mov esi, 0x9dc7dc
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], esp
push 0
mov ebx, dword [ebp + 8]
push dword [ebx]
mov eax, 0x3c
call fcn.00436f5b
cmp dword [ebp - 0x24], esp
je 0x41753b
push 0x19
push 0x4019dd5
push 6
call fcn.00436f55
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x417c0a
push 0x80000301
push 0
push dword [ebp - 4]
push 1
mov ebx, 0x438a00
call fcn.00436f49
add esp, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x41757b
push ebx
call fcn.00436f43
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x24], esp
mov eax, dword [ebp - 8]
test eax, eax
je 0x41758c
add eax, 8
push eax
push dword [ebp - 4]
push 0
mov ebx, dword [ebp + 8]
push dword [ebx]
mov eax, 0x3d
call fcn.00436f5b
cmp dword [ebp - 0x24], esp
je 0x4175c0
push 0xba
push 0x4019dd5
push 6
call fcn.00436f55
add esp, 0xc
mov dword [ebp - 0x24], esp
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x9dc6c9
mov eax, dword [ebp - 8]
test eax, eax
je 0x4175da
add eax, 8
push eax
mov eax, 0x3e
call fcn.00436f5b
cmp dword [ebp - 0x24], esp
je 0x417601
push 0x10f
push 0x4019dd5
push 6
call fcn.00436f55
add esp, 0xc
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x417618
mov eax, 0x62f5cb
jmp 0x417c2b
push 0x80000301
push 0
push dword [ebp - 0x10]
push 1
mov ebx, 0x438a00
call fcn.00436f49
add esp, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x41764b
push ebx
call fcn.00436f43
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], esp
push dword [ebp - 0x10]
push dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x417662
add eax, 8
push eax
mov eax, 0x3f
call fcn.00436f5b
cmp dword [ebp - 0x24], esp
je 0x417689
push 0x1af
push 0x4019dd5
push 6
call fcn.00436f55
add esp, 0xc
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4176ae
mov eax, 0x62f480
push eax
push 3
mov ebx, 0x438840
call fcn.00436f49
add esp, 0x28
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
cmp ecx, 0x80000101
jne 0x4176e2
and eax, 0xff
jmp 0x417737
cmp ecx, 0x80000201
jne 0x4176ed
cwde
jmp 0x417737
cmp ecx, 0x80000301
je 0x417737
cmp ecx, 0x80000401
je 0x417737
mov dword [ebp - 0x34], eax
cmp ecx, 0x80000501
je 0x417727
cmp ecx, 0x80000601
je 0x41772c
push 0x253
push 0x4019dd5
push 2
call fcn.00436f55
add esp, 0xc
fld dword [ebp - 0x34]
jmp 0x417732
mov dword [ebp - 0x30], edx
fld qword [ebp - 0x34]
call fcn.0040121f
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x438c80
call fcn.00436f49
add esp, 0x10
mov dword [ebp - 0x30], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x417767
mov eax, 0x62f5cb
push eax
push 1
mov ebx, 0x437570
call fcn.00436f49
add esp, 0x10
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x41778d
push ebx
call fcn.00436f43
add esp, 4
fld qword [0x62f4c8]
fild dword [ebp - 0x34]
fstp qword [ebp - 0x3c]
fsub qword [ebp - 0x3c]
fstp qword [ebp - 0x44]
push VariantClear
push 0
push 0x9dc6e2
fld qword [ebp - 0x44]
call fcn.0040121f
push 0x80000301
push 0
push eax
push 2
mov ebx, 0x438710
call fcn.00436f49
add esp, 0x1c
mov dword [ebp - 0x48], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4177f5
mov eax, 0x62f480
push eax
push 3
mov ebx, 0x438840
call fcn.00436f49
add esp, 0x28
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
cmp ecx, 0x80000101
jne 0x417829
and eax, 0xff
jmp 0x41787e
cmp ecx, 0x80000201
jne 0x417834
cwde
jmp 0x41787e
cmp ecx, 0x80000301
je 0x41787e
cmp ecx, 0x80000401
je 0x41787e
mov dword [ebp - 0x5c], eax
cmp ecx, 0x80000501
je 0x41786e
cmp ecx, 0x80000601
je 0x417873
push 0x294
push 0x4019dd5
push 2
call fcn.00436f55
add esp, 0xc
fld dword [ebp - 0x5c]
jmp 0x417879
mov dword [ebp - 0x58], edx
fld qword [ebp - 0x5c]
call fcn.0040121f
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x438c80
call fcn.00436f49
add esp, 0x10
mov dword [ebp - 0x58], eax
push dword [ebp - 0x58]
push dword [ebp - 0x48]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x5c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x4178c1
push ebx
call fcn.00436f43
add esp, 4
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x4178d1
push ebx
call fcn.00436f43
add esp, 4
mov eax, dword [ebp - 0x5c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4178e5
push ebx
call fcn.00436f43
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push 4
push VariantClear
push 0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x417908
mov eax, 0x62f5cb
push eax
push 2
mov ebx, 0x4376d0
call fcn.00436f49
add esp, 0x1c
mov dword [ebp - 0x24], eax
push 0x80000301
push 0
push 4
push VariantClear
push 0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x41793d
mov eax, 0x62f5cb
push eax
push 2
mov ebx, 0x437690
call fcn.00436f49
add esp, 0x1c
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
push dword [ebp - 0x24]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x417979
push ebx
call fcn.00436f43
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x417989
push ebx
call fcn.00436f43
add esp, 4
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x41799d
push ebx
call fcn.00436f43
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
mov eax, 0x9dc793
push eax
mov ebx, eax
call fcn.00401246
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.00436f4f
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4179fe
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
test eax, eax
je 0x4179f2
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00436f4f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4179d5
pop eax
push eax
mov ebx, dword [ebp - 0x1c]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x417a1d
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x417a19
imul eax, dword [ebx]
jmp 0x417a0e
mov ecx, eax
test ecx, ecx
je 0x417a3c
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x417a35
push ebx
push eax
call fcn.00436f43
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x417a23
call fcn.00436f43
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 0x10], 0
jne 0x417a59
mov dword [ebp + 0xc], 1
mov ebx, dword [ebp - 0x1c]
call fcn.00401246
push ebx
push ecx
mov eax, dword [ebp + 0xc]
dec eax
jns 0x417a80
push 0x4fd
push 0x4019dd5
push 4
call fcn.00436f55
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x417a9d
push 0x4fd
push 0x4019dd5
push 1
call fcn.00436f55
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x24]
push dword [ebx]
push dword [ebp - 0x18]
push 0x9dc7cb
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], esp
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x28]
mov eax, dword [ebp - 8]
test eax, eax
je 0x417ada
add eax, 8
push eax
mov eax, 0x3e
call fcn.00436f5b
cmp dword [ebp - 0x2c], esp
je 0x417b01
push 0x4fd
push 0x4019dd5
push 6
call fcn.00436f55
add esp, 0xc
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x417b14
push ebx
call fcn.00436f43
add esp, 4
cmp dword [ebp - 0x30], 0
je 0x417c0a
push 0x80000301
push 0
push dword [ebp - 0x10]
push 1
mov ebx, 0x438a00
call fcn.00436f49
add esp, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x417b51
push ebx
call fcn.00436f43
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], esp
push dword [ebp - 0x10]
push dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x417b68
add eax, 8
push eax
mov eax, 0x3f
call fcn.00436f5b
cmp dword [ebp - 0x24], esp
je 0x417b8f
push 0x589
push 0x4019dd5
push 6
call fcn.00436f55
add esp, 0xc
push 0
push 0
push 0
push 0x80000301
push 0
push 0xa
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x417bb4
mov eax, 0x62f480
push eax
push 3
mov ebx, 0x438840
call fcn.00436f49
add esp, 0x28
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x80000004
je 0x417bf2
push 0x5ca
push 0x4019dd5
push 5
call fcn.00436f55
add esp, 0xc
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x417c06
push ebx
call fcn.00436f43
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x417c26
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.00436f4f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x417c2b
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x417c3c
push ebx
call fcn.00436f43
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x417c4c
push ebx
call fcn.00436f43
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x417c5c
push ebx
call fcn.00436f43
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x417c7a
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x417c76
imul eax, dword [ebx]
jmp 0x417c6b
mov ecx, eax
test ecx, ecx
je 0x417c99
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x417c92
push ebx
push eax
call fcn.00436f43
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x417c80
call fcn.00436f43
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x417cb1
push ebx
call fcn.00436f43
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0xc