Function at 0x41e0e7
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
mov ebx, ecx
push edi
mov edi, edx
mov dword [esp + 0x14], ebx
xor edx, edx
mov ebx, dword [ebx + 0xc]
inc edx
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x41e92c
test edi, edi
jne 0x41e124
push edi
push edi
push 0x79
pop edx
mov ecx, ebx
call fcn.00415b44
pop ecx
pop ecx
jmp 0x41e92c
movzx esi, byte [edi]
cmp esi, 0x58
jg 0x41e4d4
je 0x41e542
cmp esi, 0x40
jg 0x41e384
je 0x41e2bb
cmp esi, 0x1f
jg 0x41e19b
je 0x41e171
mov eax, esi
sub eax, 0x10
je 0x41e4bd
dec eax
je 0x41e56f
sub eax, 4
jne 0x41e91c
mov edx, dword [edi + 8]
call fcn.0041e0e7
jmp 0x41e194
mov edx, dword [edi + 8]
call fcn.0041e0e7
push 0
push 0
lea ecx, [edi + 0x14]
call fcn.0042174d
movsx edx, al
add edx, 0x29
mov ecx, ebx
call fcn.00415b44
pop ecx
pop ecx
xor edx, edx
jmp 0x41e91c
cmp esi, 0x30
je 0x41e244
cmp esi, 0x3b
jle 0x41e91c
cmp esi, 0x3d
jle 0x41e3a9
cmp esi, 0x3f
jne 0x41e91c
mov eax, dword [edi + 0x10]
mov ebx, dword [edi + 8]
mov edx, ebx
mov edi, dword [eax + 0xc]
mov esi, dword [edi]
call fcn.0041e0e7
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0x5d
pop edx
call fcn.00415b44
mov ecx, dword [esp + 0x1c]
mov edx, esi
call fcn.0041e0e7
mov ecx, dword [esp + 0x1c]
mov edx, ebx
push 0
push 0
push 0x48
push esi
call fcn.0041caab
mov ecx, dword [esp + 0x30]
push 0
push 1
push 0x66
pop edx
call fcn.00415b44
mov esi, dword [edi + 0xc]
mov edx, esi
mov ecx, dword [esp + 0x34]
call fcn.0041e0e7
mov ecx, dword [esp + 0x34]
xor edi, edi
push edi
push edi
push 0x46
push esi
mov edx, ebx
call fcn.0041caab
mov ecx, dword [esp + 0x48]
push edi
push edi
push 0x3d
pop edx
call fcn.00415b44
add esp, 0x38
jmp 0x41e919
mov eax, ecx
xor ebx, ebx
cmp dword [eax + 0xac], ebx
jne 0x41e260
push str.RAISE___may_only_be_used_within_a_trigger_program
push eax
call fcn.0040b7a6
jmp 0x41e11d
cmp dword [edi + 0x28], 4
je 0x41e289
mov ecx, edi
call fcn.0041ce63
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x18]
shr eax, 1
push eax
push dword [edi + 0x14]
push dword [edi + 0x28]
push 0x13
push 0x24
pop edx
call fcn.00415b97
jmp 0x41e2b1
mov ecx, dword [esp + 0x18]
push ebx
push ebx
push 0x6c
pop edx
call fcn.00415b44
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0xac]
push dword [eax + 0x10]
push ebx
push 0x5e
pop edx
call fcn.00415b44
add esp, 0x10
mov edx, ebx
jmp 0x41e91c
mov eax, ecx
mov edx, edi
mov esi, dword [eax + 0x28]
call fcn.0041dd9e
mov ecx, edi
call fcn.0041ca37
mov ecx, dword [esp + 0x18]
xor ebx, ebx
push ebx
push 1
push 0x2f
pop edx
mov byte [esp + 0x1b], al
call fcn.00415b44
mov ecx, dword [esp + 0x1c]
lea eax, [esi + 1]
mov dword [ecx + 0x28], eax
mov edx, dword [edi + 8]
call fcn.0041e0e7
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 0x10]
lea eax, [esi + 4]
push eax
push 0xffffffffffffffff
push 0x42
pop edx
call fcn.00415b44
mov ecx, dword [esp + 0x28]
push ebx
push 2
push 0xb
pop edx
call fcn.00415b44
mov ecx, dword [esp + 0x30]
push ebx
push ebx
push 0x79
pop edx
call fcn.00415b44
mov ecx, dword [esp + 0x38]
add esi, 7
push esi
push ebx
push 0x5e
pop edx
call fcn.00415b44
mov ecx, dword [esp + 0x40]
push ebx
push 1
push 0x5a
pop edx
call fcn.00415b44
lea ecx, [esp + 0x43]
mov edx, eax
push 1
push ecx
mov ecx, dword [esp + 0x50]
call fcn.00415e9e
mov ecx, dword [esp + 0x50]
mov edx, 0x85
push esi
push dword [edi + 0x24]
call fcn.00415b44
mov ecx, dword [esp + 0x58]
add esp, 0x40
push ebx
push 0xffffffffffffffff
push 0x27
pop edx
call fcn.00415b44
pop ecx
pop ecx
jmp 0x41e919
cmp esi, 0x55
jg 0x41e4ab
je 0x41e440
cmp esi, 0x42
jle 0x41e3ff
cmp esi, 0x48
jle 0x41e3ce
lea eax, [esi - 0x4a]
cmp eax, 9
ja 0x41e91c
mov edx, dword [edi + 8]
call fcn.0041e0e7
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x14]
call fcn.0041e0e7
push 0
push 0
mov edx, esi
mov ecx, ebx
call fcn.00415b44
pop ecx
pop ecx
jmp 0x41e3f7
mov edx, dword [edi + 8]
mov ebx, ecx
call fcn.0041e0e7
mov edx, dword [edi + 0xc]
mov ecx, ebx
call fcn.0041e0e7
mov edx, dword [edi + 8]
mov ecx, ebx
push 0
push 0
push esi
push dword [edi + 0xc]
call fcn.0041caab
add esp, 0x10
or edx, 0xffffffff
jmp 0x41e91c
push 0
push edx
push 0x2f
pop edx
mov ecx, ebx
call fcn.00415b44
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x1c]
call fcn.0041e0e7
mov eax, dword [ebx + 0x10]
mov edx, esi
add eax, 2
mov ecx, ebx
push eax
push 1
call fcn.00415b44
push 0
push 0xffffffffffffffff
push 0x27
pop edx
mov ecx, ebx
call fcn.00415b44
add esp, 0x18
jmp 0x41e194
mov eax, dword [edi + 8]
mov dword [esp + 0x34], eax
mov cl, byte [eax]
cmp cl, 0x7d
je 0x41e453
cmp cl, 0x7c
jne 0x41e4bd
push dword [eax + 0x14]
mov eax, dword [eax + 0x18]
shr eax, 1
push eax
push str.__.s
call fcn.0040abbf
mov esi, eax
add esp, 0xc
mov eax, dword [esp + 0x34]
cmp byte [eax], 0x7d
jne 0x41e48f
mov ecx, dword [eax + 0x18]
shr ecx, 1
inc ecx
push ecx
push esi
push 0
push 0
push 0x7d
pop edx
mov ecx, ebx
call fcn.00415b97
add esp, 0x10
jmp 0x41e4a0
mov eax, dword [eax + 0x18]
mov edx, esi
shr eax, 1
mov ecx, ebx
inc eax
push eax
call fcn.0041e01e
pop ecx
push esi
call fcn.0040b5df
jmp 0x41e37e
mov eax, esi
sub eax, 0x56
je 0x41e167
dec eax
jne 0x41e91c
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x14]
call fcn.0041e0e7
push 0
push 0
mov edx, esi
jmp 0x41e18b
mov eax, 0x80
cmp esi, eax
jg 0x41e5c6
je 0x41e592
mov eax, esi
sub eax, 0x5c
je 0x41e586
sub eax, 0x12
je 0x41e56f
sub eax, 0xe
je 0x41e55a
dec eax
je 0x41e542
dec eax
je 0x41e514
dec eax
jne 0x41e91c
push eax
push dword [edi + 0x24]
mov ecx, ebx
jmp 0x41e378
mov edx, dword [edi + 0x18]
mov ecx, 0x4e77ae
mov eax, dword [edi + 0x14]
shr edx, 1
add eax, 2
sub edx, 3
push edx
cmovne ecx, eax
push ecx
push 0
push 0
push 0x7e
pop edx
mov ecx, ebx
call fcn.00415b97
add esp, 0x10
jmp 0x41e919
mov ecx, edi
call fcn.0041ce63
mov eax, dword [edi + 0x18]
mov edx, esi
shr eax, 1
push eax
push dword [edi + 0x14]
push 0
push 0
jmp 0x41e533
mov eax, dword [edi + 0x18]
mov ecx, ebx
mov edx, dword [edi + 0x14]
shr eax, 1
push eax
call fcn.0041e01e
jmp 0x41e37e
cmp dword [edi + 0x28], 0
jne 0x41e57f
mov edx, edi
call fcn.0041dd9e
xor edx, edx
inc edx
push 0
push dword [edi + 0x28]
jmp 0x41e50d
push 0
push 0
push 0x79
pop edx
jmp 0x41e50d
push 0
push dword [edi + 0x24]
mov ecx, ebx
push 0x19
pop edx
call fcn.00415b44
mov eax, dword [edi + 0x18]
xor edx, edx
shr eax, 1
inc edx
pop ecx
pop ecx
cmp eax, edx
jbe 0x41e91c
push eax
push dword [edi + 0x14]
or edx, 0xffffffff
mov ecx, ebx
call fcn.00415e9e
jmp 0x41e37d
sub esi, 0x81
je 0x41e7ef
sub esi, 0x13
je 0x41e5eb
dec esi
je 0x41e660
dec esi
je 0x41e62f
dec esi
je 0x41e603
dec esi
jne 0x41e91c
mov eax, dword [edi + 0x10]
xor ebx, ebx
mov dword [esp + 0x20], eax
test eax, eax
je 0x41e68f
mov edx, dword [eax]
jmp 0x41e691
imul ecx, dword [edi + 0x30], 0x18
mov eax, dword [edi + 0x2c]
add ecx, dword [eax + 0x10]
cmp byte [eax], 0
jne 0x41e61c
push 0
push dword [ecx + 0x10]
jmp 0x41e50d
cmp byte [eax + 1], 0
je 0x41e660
push dword [ecx + 0xc]
push dword [eax + 4]
push 3
jmp 0x41e58c
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x41e64d
lea eax, [edi + 0x1c]
push eax
push str.misuse_of_aggregate:__T
push ecx
call fcn.0040b7a6
add esp, 0xc
jmp 0x41e919
mov ecx, dword [edi + 0x30]
mov eax, dword [eax + 0x20]
add ecx, ecx
push 0
push dword [eax + ecx*8 + 8]
jmp 0x41e50d
cmp dword [edi + 0x24], 0
mov ecx, ebx
jge 0x41e67c
mov eax, dword [esp + 0x14]
push edx
mov eax, dword [eax + 0x28]
sub eax, dword [edi + 0x28]
dec eax
push eax
push 0x5d
jmp 0x41e377
push dword [edi + 0x24]
mov edx, dword [edi + 0x3c]
push dword [edi + 0x28]
call fcn.0041e073
jmp 0x41e37d
mov edx, ebx
mov esi, ecx
mov dword [esp + 0x34], ebx
push ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [esp + 0x34], al
push dword [esp + 0x34]
mov eax, dword [edi + 0x18]
push edx
mov edx, dword [edi + 0x14]
shr eax, 1
push eax
call fcn.00424054
mov edx, dword [esp + 0x30]
add esp, 0x10
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.0041e995
mov edx, eax
mov dword [esp + 0x28], edx
cmp edx, 2
jl 0x41e6ff
test byte [edi + 2], 0x80
je 0x41e6ff
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
push dword [ecx + 0xc]
mov ecx, dword [esp + 0x20]
call fcn.00430526
mov edx, dword [esp + 0x2c]
pop ecx
mov dword [esp + 0x1c], eax
jmp 0x41e712
test edx, edx
jle 0x41e70e
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
push dword [eax]
jmp 0x41e6eb
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
test edx, edx
jle 0x41e790
mov edx, ebx
mov dword [esp + 0x30], edx
cmp edx, 0x180
jge 0x41e790
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + edx]
call fcn.0041d47d
test eax, eax
je 0x41e74c
mov ecx, dword [esp + 0x2c]
xor eax, eax
inc eax
shl eax, cl
or dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
cmp byte [eax + 3], bl
je 0x41e778
cmp dword [esp + 0x24], ebx
jne 0x41e778
mov eax, dword [esp + 0x20]
mov ecx, esi
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x30]
mov edx, dword [edx + eax]
call fcn.0041c9ae
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
inc ecx
add edx, 0xc
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
cmp ecx, edi
jl 0x41e724
cmp byte [eax + 3], bl
je 0x41e7cc
cmp dword [esp + 0x24], ebx
jne 0x41e7a4
mov eax, dword [esi]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x24], eax
push ebx
push ebx
mov ebx, dword [esp + 0x20]
mov ecx, ebx
push 0xd
pop edx
call fcn.00415b44
push 0xfffffffffffffffc
push dword [esp + 0x30]
mov edx, eax
mov ecx, ebx
call fcn.00415e9e
mov eax, dword [esp + 0x2c]
add esp, 0x10
jmp 0x41e7d0
mov ebx, dword [esp + 0x18]
push 0xfffffffffffffffb
push eax
push edi
push dword [esp + 0x40]
mov ecx, ebx
push 0x14
pop edx
call fcn.00415b97
xor edx, edx
add esp, 0x10
inc edx
sub edx, edi
jmp 0x41e91c
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov dword [esp + 0x24], ecx
mov ecx, ebx
call fcn.00415bc3
mov edx, dword [edi + 8]
mov dword [esp + 0x2c], eax
test edx, edx
je 0x41e816
mov ecx, dword [esp + 0x14]
call fcn.0041e0e7
xor ebx, ebx
test esi, esi
jle 0x41e8d6
lea eax, [esi - 1]
mov esi, dword [esp + 0x18]
shr eax, 1
inc eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
mov ecx, dword [esp + 0x14]
call fcn.0041e0e7
mov ecx, esi
cmp dword [edi + 8], ebx
je 0x41e87e
xor eax, eax
inc eax
push eax
push eax
push 0x5d
pop edx
call fcn.00415b44
mov eax, dword [esp + 0x2c]
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x1c]
push 1
push ebx
push 0x43
push dword [eax]
call fcn.0041caab
push ebx
push 1
push 0xb
pop edx
mov ecx, esi
mov dword [esp + 0x54], eax
call fcn.00415b44
add esp, 0x20
jmp 0x41e88f
push ebx
push 1
push 0x56
pop edx
call fcn.00415b44
pop ecx
pop ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
call fcn.0041e0e7
push dword [esp + 0x2c]
mov ecx, esi
push ebx
push 0x5e
pop edx
call fcn.00415b44
push dword [esi + 0x10]
mov edx, dword [esp + 0x40]
mov ecx, esi
call fcn.00415ddf
mov eax, dword [esp + 0x30]
add esp, 0xc
add eax, 0x18
dec dword [esp + 0x30]
mov dword [esp + 0x24], eax
jne 0x41e832
jmp 0x41e8da
mov esi, dword [esp + 0x18]
cmp dword [edi + 8], ebx
je 0x41e8ee
push ebx
push 1
push 0xb
pop edx
mov ecx, esi
call fcn.00415b44
pop ecx
pop ecx
mov edx, dword [edi + 0xc]
test edx, edx
je 0x41e900
mov ecx, dword [esp + 0x14]
call fcn.0041e0e7
jmp 0x41e90e
push ebx
push ebx
push 0x79
pop edx
mov ecx, esi
call fcn.00415b44
pop ecx
pop ecx
mov edx, dword [esp + 0x2c]
mov ecx, esi
call fcn.00415c01
xor edx, edx
inc edx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x41e92c
add eax, edx
mov dword [ecx + 0x28], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret