Function at 0x43f222
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
push esi
mov esi, dword [ebp + 8]
test esi, esi
push edi
jne 0x43f23a
or eax, 0xffffffff
jmp 0x43f7eb
and dword [ebp + 8], 0
and dword [ebp - 4], 0
mov edi, dword [ebp + 0xc]
sub esi, 8
add esi, 8
movzx eax, word [esi]
cmp eax, 0x64
jg 0x43f484
je 0x43f47f
cmp eax, 0x2c
jg 0x43f32a
je 0x43f325
cmp eax, 0xc
jg 0x43f2be
je 0x43f2b6
cmp eax, 7
ja 0x43f7e9
jmp dword [eax*4 + 0x15682]
mov dword [ebp - 4], eax
jmp 0x43f248
lea esi, [esi + eax*8]
jmp 0x43f248
mov eax, dword [ebp - 4]
add dword [ebp + 8], eax
jmp 0x43f248
sub eax, 0x14
je 0x43f320
dec eax
je 0x43f315
dec eax
je 0x43f7f7
sub eax, 6
je 0x43f30a
dec eax
je 0x43f2ff
sub eax, 7
je 0x43f2f3
dec eax
jne 0x43f7e9
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 4]
jg 0x43f582
movzx eax, byte [esi + 3]
jmp 0x43f2a7
mov eax, dword [esi + 4]
imul eax, dword [ebp + 8]
jmp 0x43f42e
mov eax, dword [ebp - 4]
cmp dword [ebp + 8], eax
jmp 0x43f57c
mov eax, dword [ebp - 4]
sub dword [ebp + 8], eax
jmp 0x43f248
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 4]
jmp 0x43f57c
mov eax, dword [esi + 4]
jmp 0x43f30d
mov eax, dword [ebp - 4]
jmp 0x43f2f6
cmp eax, 0x4c
jg 0x43f3f9
je 0x43f3ee
cmp eax, 0x3d
jg 0x43f3ad
je 0x43f39c
sub eax, 0x2d
je 0x43f38b
sub eax, 7
je 0x43f37e
dec eax
je 0x43f36d
sub eax, 7
jne 0x43f7e9
cmp dword [ebp - 4], 0
je 0x43f7e9
mov eax, dword [ebp + 8]
xor edx, edx
div dword [ebp - 4]
jmp 0x43f42e
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 4]
jl 0x43f2ed
jmp 0x43f582
mov eax, dword [ebp + 8]
xor edx, edx
div dword [esi + 4]
jmp 0x43f42e
mov eax, dword [ebp - 4]
cmp dword [ebp + 8], eax
jbe 0x43f2ed
jmp 0x43f582
mov eax, dword [ebp - 4]
cmp dword [ebp + 8], eax
jb 0x43f2ed
jmp 0x43f582
sub eax, 0x3f
je 0x43f3d4
sub eax, 5
je 0x43f3cf
dec eax
jne 0x43f7e9
mov eax, dword [ebp + 8]
test dword [esi + 4], eax
je 0x43f2ed
jmp 0x43f582
mov eax, dword [esi + 4]
jmp 0x43f3f1
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push dword [esi + 4]
imul ecx, ecx, 0x4c
lea eax, [ecx + eax + 0xc]
push eax
call fcn.0043f1e4
jmp 0x43f248
mov eax, dword [ebp - 4]
or dword [ebp + 8], eax
jmp 0x43f248
sub eax, 0x4d
je 0x43f474
dec eax
dec eax
je 0x43f464
sub eax, 5
je 0x43f45f
sub eax, 8
je 0x43f454
sub eax, 3
je 0x43f436
dec eax
je 0x43f427
dec eax
jne 0x43f7e9
mov eax, dword [esi + 4]
mov eax, dword [ebp + eax*4 - 0x48]
jmp 0x43f28e
mov eax, dword [esi + 4]
mov eax, dword [ebp + eax*4 - 0x48]
mov dword [ebp + 8], eax
jmp 0x43f248
mov eax, dword [esi + 4]
test eax, eax
jl 0x43f7e9
cmp eax, 4
jge 0x43f7e9
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0x43f248
mov eax, dword [ebp - 4]
and dword [ebp + 8], eax
jmp 0x43f248
mov eax, dword [esi + 4]
jmp 0x43f457
push dword [esi + 4]
push dword [ebp + 0x10]
call fcn.0043edde
jmp 0x43f7e1
mov eax, dword [ebp + 8]
test dword [ebp - 4], eax
jmp 0x43f3c4
mov ecx, dword [esi + 4]
jmp 0x43f4fa
mov ecx, 0xc9
cmp eax, ecx
jg 0x43f683
je 0x43f665
add ecx, 0xffffffd6
cmp eax, ecx
jg 0x43f58b
je 0x43f55f
cmp eax, 0x7f
jg 0x43f52c
je 0x43f502
cmp eax, 0x6c
je 0x43f4f7
cmp eax, 0x6f
je 0x43f4d7
cmp eax, 0x74
je 0x43f4d2
cmp eax, 0x7c
jne 0x43f7e9
mov ecx, dword [ebp - 4]
shr dword [ebp + 8], cl
jmp 0x43f248
mov ecx, dword [esi + 4]
jmp 0x43f4ca
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push 1
imul ecx, ecx, 0x4c
push dword [ebp + 8]
lea eax, [ecx + eax + 0xc]
push dword [esi + 4]
push edi
push eax
call fcn.0043f0fa
jmp 0x43f7e1
mov ecx, dword [ebp - 4]
shl dword [ebp + 8], cl
jmp 0x43f248
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push dword [esi + 4]
imul ecx, ecx, 0x4c
push edi
lea eax, [ecx + eax + 0xc]
push eax
call fcn.0043f006
test eax, eax
je 0x43f7e9
mov eax, dword [ebp + 0xc]
jmp 0x43f42e
sub eax, 0x84
je 0x43f557
sub eax, 3
je 0x43f54f
sub eax, 8
jne 0x43f7e9
push edi
push dword [esi + 4]
call fcn.0043ed98
jmp 0x43f7e1
mov eax, dword [ebp - 4]
jmp 0x43f42e
neg dword [ebp + 8]
jmp 0x43f248
push dword [ebp + 0x14]
push dword [esi + 4]
push dword [ebp + 0x10]
push edi
call fcn.0043ef34
test eax, eax
mov dword [ebp + 0xc], eax
je 0x43f7e9
cmp eax, 2
jne 0x43f2ed
movzx eax, byte [esi + 2]
jmp 0x43f2a7
sub eax, 0xaf
je 0x43f652
sub eax, 0x10
je 0x43f642
dec eax
je 0x43f627
dec eax
je 0x43f60c
dec eax
je 0x43f5f1
dec eax
je 0x43f5d6
sub eax, 5
jne 0x43f7e9
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
xor eax, eax
mov ax, word [ebx]
bswap eax
mov dword [ebp + 8], eax
pop ebx
pop eax
jmp 0x43f248
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
bswap eax
mov dword [ebx], eax
pop ebx
pop eax
jmp 0x43f248
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebp + 8]
bswap eax
mov dword [ebx], eax
pop ebx
pop eax
jmp 0x43f248
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
bswap eax
mov dword [ebp - 4], eax
pop ebx
pop eax
jmp 0x43f248
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
bswap eax
mov dword [ebp + 8], eax
pop ebx
pop eax
jmp 0x43f248
push dword [esi + 4]
push dword [ebp + 0x10]
call fcn.0043ee04
jmp 0x43f7e1
push dword [esi + 4]
push 0
push dword [ebp + 0x10]
push edi
call fcn.0043ef64
jmp 0x43f7e1
mov eax, dword [esi + 4]
add eax, dword [edi]
mov dword [ebp - 8], eax
push eax
push ebx
mov ebx, dword [ebp - 8]
xor eax, eax
mov ax, word [ebx]
bswap eax
mov dword [ebp - 4], eax
pop ebx
pop eax
jmp 0x43f248
sub eax, 0xca
cmp eax, 0x28
ja 0x43f7e9
movzx eax, byte [eax + 0x156e2]
jmp dword [eax*4 + 0x156a2]
test eax, eax
jne 0x43f248
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10
mov eax, dword [ebp + 8]
jmp 0x43f7eb