Function at 0x423a10
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe4
mov esi, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x100001
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 0x4021
call fcn.004429e0
xor ecx, ecx
cmp eax, 0
jl 0x424324
mov dword [esp], esi
call fcn.004192f0
shl eax, 1
mov word [esp + 0xc8], ax
movzx eax, ax
add eax, 2
mov word [esp + 0xca], ax
mov dword [esp + 0xcc], esi
mov dword [esp], 0x848
call fcn.0043d520
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x78]
mov al, byte [esp + 0x88]
mov byte [esp + 0xb4], al
mov byte [esp + 0x8c], 0xe5
mov byte [esp + 0x8d], 0xe6
mov byte [esp + 0x8e], 0xe7
mov byte [esp + 0x8f], 0xe0
mov eax, 4
mov byte [esp + eax + 0x8c], 0
add eax, 1
cmp eax, 5
jne 0x423ac9
xor eax, eax
cmp eax, 5
jae 0x423b66
movzx edi, byte [esp + eax + 0x8c]
mov edx, 0xefe9ae26
sub edx, eax
mov ecx, edi
xor ecx, 0xffffffff
shl ecx, 1
add ecx, edi
mov ebx, 0xfffffffe
sub ebx, ecx
or edx, ebx
mov ecx, 0x26
sub ecx, eax
mov ebx, 0x26
sub ebx, eax
or ecx, ebx
and ecx, edi
xor edx, 0xffffffff
or ecx, edx
mov edx, ecx
and edx, 0xaf9066c0
mov edi, ecx
and edi, 2
xor edi, 2
mov ebx, ecx
and ebx, 0xaf9066c0
imul ebx, edi
mov edi, ecx
and edi, 2
or edx, 2
imul edx, edi
add edx, ebx
xor ecx, 0xaf9066c2
mov edi, ecx
and edi, edx
shl edi, 1
xor ecx, edx
add ecx, edi
add cl, 1
mov byte [esp + eax + 0x8c], cl
add eax, 1
jmp 0x423adb
mov edi, dword [esp + 0x8c]
xor ebp, ebp
cmp ebp, dword [0x44f2b4]
jb 0x423b81
mov ecx, 2
jmp 0x423c39
mov edx, dword [0x44f2b8]
cmp dword [edx + ebp*8], 0x7fd4133f
sete bl
xor ecx, ecx
mov byte [esp + 0x3b], bl
test bl, 1
jne 0x423ba1
jmp 0x423c28
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x423c28
mov eax, dword [0x44f2bc]
xor ecx, ecx
lea ecx, [esp + 0xdc]
lea ebx, [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x848
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 0
call fcn.00440360
mov ecx, 1
test byte [esp + 0x3b], 1
jne 0x423c37
add ebp, 1
jmp 0x423b6f
jmp 0x423c39
cmp ecx, 2
je 0x423c40
mov edi, eax
cmp edi, 0
setge al
xor ecx, ecx
test al, 1
jne 0x423c51
jmp 0x4241d5
mov dword [esp + 0x40], 0
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esp + 0x4c]
jmp 0x423c63
mov edi, dword [eax + 0x3c]
shr edi, 1
mov esi, eax
add esi, 0x38
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x38]
and eax, 0x400
cmp eax, 0
jne 0x423e74
mov al, byte [esp + 0x6c]
mov byte [esp + 0x94], al
mov byte [esp + 0x70], 0x7a
mov byte [esp + 0x71], 0x49
mov byte [esp + 0x72], 0x56
mov byte [esp + 0x73], 0x57
mov eax, 4
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 7
jne 0x423ca6
mov dword [esp + 0x48], ebx
mov dword [esp + 0x3c], ecx
xor eax, eax
cmp eax, 7
jae 0x423d18
movzx ecx, byte [esp + eax + 0x70]
mov edx, eax
and edx, 0x7875748c
mov ebx, eax
and ebx, 0x7875748c
mov ebp, eax
and ebp, 2
xor ebp, 2
imul ebp, ebx
mov ebx, eax
and ebx, 2
or edx, 2
imul edx, ebx
add edx, ebp
mov ebx, eax
xor ebx, 0x7875748e
add ebx, edx
xor ebx, ecx
mov ecx, ebx
and ecx, 1
xor ecx, 1
mov edx, 0xc6
sub edx, ebx
or edx, 1
sub ecx, edx
mov byte [esp + eax + 0x70], cl
add eax, 1
jmp 0x423cbd
mov ebp, dword [esp + 0x44]
add ebp, 0x44
lea eax, [esp + 0x70]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00424340
cmp eax, 0
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x48]
je 0x423e74
mov al, byte [esp + 0x68]
mov byte [esp + 0x98], al
mov byte [esp + 0xbc], 0xea
mov byte [esp + 0xbd], 0x39
mov byte [esp + 0xbe], 0xec
mov byte [esp + 0xbf], 0x3f
mov byte [esp + 0xc0], 0x3c
mov byte [esp + 0xc1], 0x3d
mov eax, 6
mov byte [esp + eax + 0xbc], 0
add eax, 1
cmp eax, 0xa
jne 0x423d84
xor eax, eax
cmp eax, 0xa
jae 0x423db8
mov cl, byte [esp + eax + 0xbc]
mov dl, al
add dl, 0xca
xor dl, cl
add dl, 0xe
mov byte [esp + eax + 0xbc], dl
add eax, 1
jmp 0x423d96
lea eax, [esp + 0xbc]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00424340
cmp eax, 0
jne 0x423ddd
mov ecx, dword [esp + 0x3c]
jmp 0x423e74
mov eax, edi
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x423df8
mov ecx, eax
mov dword [esp], ecx
call fcn.00408640
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov edi, eax
call fcn.00418f50
mov word [eax], 0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x28]
mov edx, dword [esi]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], edi
and eax, 1
mov dword [esp + 4], eax
call dword [esp + 0x100]
and al, 1
movzx eax, al
mov ecx, dword [esp + 0x3c]
and cl, 1
movzx ecx, cl
or ecx, eax
cmp ecx, 0
setne al
and al, 1
mov esi, eax
mov dword [esp], edi
call fcn.00408650
mov ecx, esi
jmp 0x423e72
jmp 0x423e74
cmp ebx, 0
je 0x423e7f
mov edi, dword [esp + 0x40]
jmp 0x423eac
mov esi, ecx
mov dword [esp], 0x10900
call fcn.0043d520
mov edi, eax
cmp edi, 0
jne 0x423ea6
xor ebx, ebx
mov eax, 2
mov edi, dword [esp + 0x44]
mov ecx, esi
jmp 0x4241c7
mov ebx, edi
mov ecx, esi
jmp 0x423eac
cmp edi, ebx
jne 0x4241ae
mov al, byte [esp + 0x5c]
mov byte [esp + 0x9c], al
mov byte [esp + 0x60], 0x88
mov byte [esp + 0x61], 0x90
mov byte [esp + 0x62], 0x8f
mov byte [esp + 0x63], 0x8f
mov eax, 4
mov byte [esp + eax + 0x60], 0
add eax, 1
cmp eax, 7
jne 0x423ed8
mov dword [esp + 0x3c], ecx
xor eax, eax
cmp eax, 7
jae 0x423f21
movzx esi, byte [esp + eax + 0x60]
mov edx, eax
add edx, 0x62
and edx, esi
shl edx, 1
mov ecx, eax
add ecx, 0x90cbd862
add ecx, esi
mov esi, ecx
xor esi, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, esi
add cl, 0x16
mov byte [esp + eax + 0x60], cl
add eax, 1
jmp 0x423eeb
mov eax, dword [esp + 0x60]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd4], eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0xb8], al
mov byte [esp + 0x80], 0xe5
mov byte [esp + 0x81], 0xe6
mov byte [esp + 0x82], 0xe7
mov byte [esp + 0x83], 0xe0
mov eax, 4
mov byte [esp + eax + 0x80], 0
add eax, 1
cmp eax, 5
jne 0x423f67
mov dword [esp + 0x48], ebx
xor eax, eax
cmp eax, 5
jae 0x424008
movzx esi, byte [esp + eax + 0x80]
mov edx, 0xefe9ae26
sub edx, eax
mov ecx, esi
xor ecx, 0xffffffff
shl ecx, 1
add ecx, esi
mov ebx, 0xfffffffe
sub ebx, ecx
or edx, ebx
mov ecx, 0x26
sub ecx, eax
mov ebx, 0x26
sub ebx, eax
or ecx, ebx
and ecx, esi
xor edx, 0xffffffff
or ecx, edx
mov edx, ecx
and edx, 0xaf9066c0
mov esi, ecx
and esi, 2
xor esi, 2
mov ebx, ecx
and ebx, 0xaf9066c0
imul ebx, esi
mov esi, ecx
and esi, 2
or edx, 2
imul edx, esi
add edx, ebx
xor ecx, 0xaf9066c2
mov esi, ecx
and esi, edx
shl esi, 1
xor ecx, edx
add ecx, esi
add cl, 1
mov byte [esp + eax + 0x80], cl
add eax, 1
jmp 0x423f7d
mov esi, dword [esp + 0x80]
xor ebp, ebp
cmp ebp, dword [0x44f2b4]
jb 0x424023
mov ecx, 2
jmp 0x4240df
mov edx, dword [0x44f2b8]
cmp dword [edx + ebp*8], 0x7fd4133f
sete bl
xor ecx, ecx
test bl, 1
jne 0x42403f
jmp 0x4240d0
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, esi
je 0x4240d0
mov eax, dword [0x44f2bc]
xor ecx, ecx
lea ecx, [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
lea eax, [esp + 0xc8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
call fcn.00440360
mov ecx, 1
test bl, 1
jne 0x4240dd
add ebp, 1
jmp 0x424011
jmp 0x4240df
cmp ecx, 2
je 0x4240e6
mov esi, eax
mov al, byte [esp + 0x50]
mov byte [esp + 0xa0], al
mov byte [esp + 0x54], 0x8d
mov byte [esp + 0x55], 0x91
mov byte [esp + 0x56], 0x92
mov byte [esp + 0x57], 0x13
mov eax, 4
mov byte [esp + eax + 0x54], 0
add eax, 1
cmp eax, 8
jne 0x42410a
xor eax, eax
cmp eax, 8
jae 0x424145
mov dl, byte [esp + eax + 0x54]
mov ebx, eax
add ebx, 0x1c
mov ecx, eax
add ecx, 0x5c
and ecx, 0xde
and ebx, 0x21
or ecx, ebx
xor cl, dl
add cl, 0x34
mov byte [esp + eax + 0x54], cl
add eax, 1
jmp 0x424119
mov eax, dword [esp + 0x54]
cmp esi, eax
mov ebx, dword [esp + 0x48]
jne 0x42417d
xor eax, eax
mov edx, edi
jmp 0x424157
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x42416e
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x424157
cmp eax, 0
je 0x424179
mov dword [eax], 0
xor esi, esi
jmp 0x42417d
cmp esi, 0
jge 0x424191
mov dword [esp], ebx
call fcn.0043d640
mov eax, 2
jmp 0x424195
xor eax, eax
jmp 0x424195
cmp eax, 0
sete cl
test cl, 1
mov ecx, dword [esp + 0x3c]
jne 0x4241ae
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x44]
jmp 0x4241c7
mov eax, dword [edi]
cmp eax, 0
je 0x4241bf
mov edx, edi
add edx, eax
mov dword [esp + 0x40], edx
jmp 0x4241c5
mov dword [esp + 0x40], ebx
jmp 0x4241c5
xor eax, eax
test eax, eax
mov eax, edi
je 0x423c63
jmp 0x4241d3
jmp 0x4241d5
mov esi, ecx
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0043d640
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd0], eax
mov al, byte [esp + 0xa4]
mov byte [esp + 0xb0], al
mov byte [esp + 0xa8], 0xe5
mov byte [esp + 0xa9], 0xe6
mov byte [esp + 0xaa], 0xe7
mov byte [esp + 0xab], 0xe0
mov eax, 4
mov byte [esp + eax + 0xa8], 0
add eax, 1
cmp eax, 5
jne 0x424221
xor eax, eax
cmp eax, 5
jae 0x4242be
movzx edi, byte [esp + eax + 0xa8]
mov edx, 0xefe9ae26
sub edx, eax
mov ecx, edi
xor ecx, 0xffffffff
shl ecx, 1
add ecx, edi
mov ebx, 0xfffffffe
sub ebx, ecx
or edx, ebx
mov ecx, 0x26
sub ecx, eax
mov ebx, 0x26
sub ebx, eax
or ecx, ebx
and ecx, edi
xor edx, 0xffffffff
or ecx, edx
mov edx, ecx
and edx, 0xaf9066c0
mov edi, ecx
and edi, 2
xor edi, 2
mov ebx, ecx
and ebx, 0xaf9066c0
imul ebx, edi
mov edi, ecx
and edi, 2
or edx, 2
imul edx, edi
add edx, ebx
xor ecx, 0xaf9066c2
mov edi, ecx
and edi, edx
shl edi, 1
xor ecx, edx
add ecx, edi
add cl, 1
mov byte [esp + eax + 0xa8], cl
add eax, 1
jmp 0x424233
mov edi, dword [esp + 0xa8]
xor ebp, ebp
mov ecx, esi
cmp ebp, dword [0x44f2b4]
jb 0x4242d3
jmp 0x424324
mov eax, dword [0x44f2b8]
cmp dword [eax + ebp*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x4242e9
jmp 0x424318
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x424318
mov ecx, dword [0x44f2bc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xc], eax
call fcn.00440360
mov ecx, esi
test bl, 1
je 0x42431f
jmp 0x424324
add ebp, 1
jmp 0x4242c9
and cl, 1
movzx eax, cl
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret