Function at 0x10049370
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x58
lea eax, [esp + 0x30]
mov ecx, 0xff600342
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
lea eax, [esp + 0x3c]
mov dword [esp + 8], 0x51
mov dword [esp + 0x14], eax
cmp ecx, 0x743f5c7c
je 0x100493bc
cmp ecx, 0xff600342
jne 0x1004939d
mov eax, dword [esp + 8]
mov ecx, 0x743f5c7c
mov byte [esp + 0xc], al
jmp 0x1004939d
mov al, byte [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, 0xff600342
mov byte [ecx], al
mov ecx, dword [esp + 0x14]
mov dword [esp + 8], 0x75
cmp edx, 0x743f5c7c
je 0x10049403
cmp edx, 0xff600342
jne 0x100493d7
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xbc
not dl
and dl, 0x43
or al, dl
mov edx, 0x743f5c7c
xor al, 0x44
mov byte [esp + 0xc], al
jmp 0x100493d7
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 1], al
mov dword [esp + 8], 0x65
cmp edx, 0x743f5c7c
je 0x10049441
cmp edx, 0xff600342
jne 0x10049417
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xf9
not dl
and dl, 6
or al, dl
mov edx, 0x743f5c7c
mov byte [esp + 0xc], al
jmp 0x10049417
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 2], al
mov dword [esp + 8], 0x72
cmp edx, 0x743f5c7c
je 0x10049481
cmp edx, 0xff600342
jne 0x10049455
mov eax, dword [esp + 8]
mov edx, eax
and al, 0x34
not dl
and dl, 0xcb
or al, dl
mov edx, 0x743f5c7c
xor al, 0xce
mov byte [esp + 0xc], al
jmp 0x10049455
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 3], al
mov dword [esp + 8], 0x79
cmp edx, 0x743f5c7c
je 0x100494c1
cmp edx, 0xff600342
jne 0x10049495
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xb2
not dl
and dl, 0x4d
or al, dl
mov edx, 0x743f5c7c
xor al, 0x49
mov byte [esp + 0xc], al
jmp 0x10049495
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 4], al
mov dword [esp + 8], 0x50
cmp edx, 0x743f5c7c
je 0x100494ff
cmp edx, 0xff600342
jne 0x100494d5
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xc4
not dl
and dl, 0x3b
or al, dl
mov edx, 0x743f5c7c
mov byte [esp + 0xc], al
jmp 0x100494d5
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 5], al
mov dword [esp + 8], 0x65
cmp edx, 0x743f5c7c
je 0x1004953f
cmp edx, 0xff600342
jne 0x10049513
mov eax, dword [esp + 8]
mov edx, eax
and al, 0x25
not dl
and dl, 0xda
or al, dl
mov edx, 0x743f5c7c
xor al, 0xe0
mov byte [esp + 0xc], al
jmp 0x10049513
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 6], al
mov dword [esp + 8], 0x72
cmp edx, 0x743f5c7c
je 0x1004957f
cmp edx, 0xff600342
jne 0x10049553
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xb4
not dl
and dl, 0x4b
or al, dl
mov edx, 0x743f5c7c
xor al, 0x72
mov byte [esp + 0xc], al
jmp 0x10049553
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 7], al
mov dword [esp + 8], 0x66
cmp edx, 0x743f5c7c
je 0x100495bf
cmp edx, 0xff600342
jne 0x10049593
mov eax, dword [esp + 8]
mov edx, eax
and al, 0x9e
not dl
and dl, 0x61
or al, dl
mov edx, 0x743f5c7c
xor al, 0x59
mov byte [esp + 0xc], al
jmp 0x10049593
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 8], al
mov dword [esp + 8], 0x6f
cmp edx, 0x743f5c7c
je 0x100495fd
cmp edx, 0xff600342
jne 0x100495d3
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xc0
not dl
and dl, 0x3f
or al, dl
mov edx, 0x743f5c7c
mov byte [esp + 0xc], al
jmp 0x100495d3
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 9], al
mov dword [esp + 8], 0x72
cmp edx, 0x743f5c7c
je 0x1004963b
cmp edx, 0xff600342
jne 0x10049611
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xc1
not dl
and dl, 0x3e
or al, dl
mov edx, 0x743f5c7c
mov byte [esp + 0xc], al
jmp 0x10049611
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 0xa], al
mov dword [esp + 8], 0x6d
cmp edx, 0x743f5c7c
je 0x10049679
cmp edx, 0xff600342
jne 0x1004964f
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xc2
not dl
and dl, 0x3d
or al, dl
mov edx, 0x743f5c7c
mov byte [esp + 0xc], al
jmp 0x1004964f
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 0xb], al
mov dword [esp + 8], 0x61
cmp edx, 0x743f5c7c
je 0x100496b7
cmp edx, 0xff600342
jne 0x1004968d
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xc3
not dl
and dl, 0x3c
or al, dl
mov edx, 0x743f5c7c
mov byte [esp + 0xc], al
jmp 0x1004968d
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 0xc], al
mov dword [esp + 8], 0x6e
cmp edx, 0x743f5c7c
je 0x100496f5
cmp edx, 0xff600342
jne 0x100496cb
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xcc
not dl
and dl, 0x33
or al, dl
mov edx, 0x743f5c7c
mov byte [esp + 0xc], al
jmp 0x100496cb
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 0xd], al
mov dword [esp + 8], 0x63
cmp edx, 0x743f5c7c
je 0x10049733
cmp edx, 0xff600342
jne 0x10049709
mov eax, dword [esp + 8]
mov edx, eax
and al, 0xcd
not dl
and dl, 0x32
or al, dl
mov edx, 0x743f5c7c
mov byte [esp + 0xc], al
jmp 0x10049709
mov al, byte [esp + 0xc]
mov edx, 0xff600342
mov byte [ecx + 0xe], al
mov dword [esp + 8], 0x65
cmp edx, 0x743f5c7c
je 0x10049773
cmp edx, 0xff600342
jne 0x10049747
mov eax, dword [esp + 8]
mov edx, eax
and al, 0x78
not dl
and dl, 0x87
or al, dl
mov edx, 0x743f5c7c
xor al, 0xb6
mov byte [esp + 0xc], al
jmp 0x10049747
mov al, byte [esp + 0xc]
mov esi, 0x767e3376
mov edi, 0xeae9480d
mov byte [ecx + 0xf], al
add ecx, 0x10
mov byte [esp + 0x13], 0x43
mov dword [esp + 0x1c], ecx
cmp esi, 0x643f06a4
jg 0x100497be
cmp esi, 0xeae9480d
je 0x100499c3
cmp esi, 0x36064280
jne 0x10049790
mov byte [edx], 0
inc edx
mov esi, 0x36064280
cmp edx, dword [esp + 0xc]
cmove esi, edi
jmp 0x10049790
cmp esi, 0x643f06a5
je 0x10049806
cmp esi, 0x767e3376
jne 0x10049790
movsx eax, byte [esp + 0x13]
mov esi, 0xff600342
mov dword [esp + 8], eax
cmp esi, 0x743f5c7c
je 0x10049844
cmp esi, 0xff600342
jne 0x100497dc
mov eax, dword [esp + 8]
mov esi, 0x743f5c7c
mov ebx, eax
and al, 0xcf
not bl
and bl, 0x30
or al, bl
mov byte [esp + 7], al
jmp 0x100497dc
mov edx, dword [esp + 0x18]
mov esi, 0xff600342
mov dword [esp + 8], 0x74
cmp esi, 0x743f5c7c
je 0x1004988b
cmp esi, 0xff600342
jne 0x10049817
mov ebx, dword [esp + 8]
mov esi, 0x743f5c7c
mov eax, ebx
and bl, 0xec
not al
and al, 0x13
or bl, al
xor bl, 0x27
mov byte [esp + 7], bl
jmp 0x10049817
mov al, byte [esp + 7]
mov esi, dword [esp + 0x1c]
mov byte [esi], al
mov esi, 0xff600342
mov ebx, dword [esp + 0x1c]
mov dword [esp + 8], 0x6f
cmp esi, 0x743f5c7c
je 0x100498cc
cmp esi, 0xff600342
jne 0x1004985f
mov eax, dword [esp + 8]
mov esi, 0x743f5c7c
mov ecx, eax
and al, 0xc7
not cl
and cl, 0x38
or al, cl
xor al, 0xf
mov byte [esp + 7], al
jmp 0x1004985f
mov al, byte [esp + 7]
mov esi, 0xff600342
mov byte [edx + 1], al
mov dword [esp + 8], 0x65
cmp esi, 0x743f5c7c
je 0x1004990a
cmp esi, 0xff600342
jne 0x1004989f
mov ebx, dword [esp + 8]
mov esi, 0x743f5c7c
mov eax, ebx
and bl, 0x43
not al
and al, 0xbc
or bl, al
xor bl, 0x97
mov byte [esp + 7], bl
jmp 0x1004989f
mov al, byte [esp + 7]
mov esi, 0xff600342
mov byte [ebx + 1], al
mov dword [esp + 8], 0x75
cmp esi, 0x743f5c7c
je 0x1004994b
cmp esi, 0xff600342
jne 0x100498e0
mov eax, dword [esp + 8]
mov esi, 0x743f5c7c
mov ecx, eax
and al, 0xc9
not cl
and cl, 0x36
or al, cl
mov byte [esp + 7], al
jmp 0x100498e0
mov al, byte [esp + 7]
mov esi, 0xff600342
mov byte [edx + 2], al
mov dword [esp + 8], 0x72
cmp esi, 0x743f5c7c
je 0x10049990
cmp esi, 0xff600342
jne 0x1004991e
mov ebx, dword [esp + 8]
mov esi, 0x743f5c7c
mov eax, ebx
and bl, 0x17
not al
and al, 0xe8
or bl, al
xor bl, 0xc2
mov byte [esp + 7], bl
jmp 0x1004991e
mov al, byte [esp + 7]
mov esi, 0xff600342
mov byte [ebx + 2], al
add ebx, 3
mov dword [esp + 8], 0x6e
mov dword [esp + 0x18], ebx
cmp esi, 0x743f5c7c
je 0x100499af
cmp esi, 0xff600342
jne 0x10049966
mov eax, dword [esp + 8]
mov esi, 0x743f5c7c
mov ecx, eax
and al, 0xca
not cl
and cl, 0x35
or al, cl
mov byte [esp + 7], al
jmp 0x10049966
mov al, byte [esp + 7]
mov esi, 0x36064280
mov byte [edx + 3], al
add edx, 4
mov eax, dword [esp + 0x14]
add eax, 0x18
mov dword [esp + 0xc], eax
jmp 0x10049790
mov al, byte [esp + 7]
mov ecx, dword [esp + 0x18]
mov esi, 0x643f06a5
mov byte [ecx], al
jmp 0x10049790
xor ebx, ebx
mov ecx, 0xe0
mov edx, 0x3c4137f5
lea edi, [esp + 0x3c]
mov esi, 0x1b3425c2
cmp esi, 0x1b3425c1
jle 0x100499fd
cmp esi, 0x3c4137f4
jg 0x10049a27
cmp esi, 0x1b3425c2
je 0x10049a49
cmp esi, 0x22510b91
jne 0x100499d8
jmp 0x10049acb
cmp esi, 0x813cb029
je 0x10049a61
cmp esi, 0x87dde337
je 0x10049a83
cmp esi, 0xe08e9d3b
jne 0x100499d8
mov eax, dword [esp + 0x14]
mov esi, 0x22510b91
add eax, 0x17
mov dword [esp + 0x1c], eax
jmp 0x100499d8
cmp esi, 0x3c4137f5
je 0x10049a6f
cmp esi, 0x5d86e662
jne 0x100499d8
mov eax, dword [esp + 0x18]
mov esi, 0x87dde337
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
jmp 0x100499d8
mov dword [esp + 8], ebx
mov esi, 0x813cb029
mov eax, dword [esp + 8]
cmp eax, 0x17
cmovb esi, edx
jmp 0x100499d8
mov dword [esp + 0x14], edi
mov esi, 0xe08e9d3b
jmp 0x100499d8
mov eax, dword [esp + 8]
mov esi, 0x5d86e662
add eax, edi
mov dword [esp + 0x18], eax
jmp 0x100499d8
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov esi, eax
and eax, 0xe45bd9a3
add ebx, 0x1b
not esi
and esi, 0x1ba4265c
or eax, esi
mov esi, eax
xor eax, 0x18
xor esi, 0x40
and eax, 0x1f
and esi, ecx
or esi, eax
mov eax, ebx
and ebx, ecx
not eax
and eax, 0x1f
or ebx, eax
xor ebx, esi
mov esi, dword [esp + 0x18]
mov byte [esi], bl
mov ebx, dword [esp + 8]
inc ebx
jmp 0x100499d3
mov eax, dword [esp + 0x1c]
mov byte [eax], 0
mov ecx, dword [esp + 0x14]
call fcn.1002ea06
lea ecx, [esp + 0x30]
push ecx
call eax
mov eax, dword [0x100a2d64]
mov dword [esp + 0x28], eax
mov eax, 0x13721eb
cmp eax, 0x9e55b6e3
je 0x10049b24
cmp eax, 0x13721eb
jne 0x10049af0
mov eax, dword [esp + 0x28]
add eax, 0x11
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
shl eax, 7
shl ecx, 3
sub eax, ecx
mov dword [esp + 0x2c], eax
mov eax, 0x9e55b6e3
jmp 0x10049af0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
xor edx, edx
sub ecx, eax
mov eax, dword [esp + 0x30]
shr eax, 4
add eax, ecx
mov dword [0x100a2d64], eax
div dword [ebp + 8]
mov ecx, dword [esp + 0x24]
mov eax, edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret