Function at 0x41dca0
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 0x41e4e5
test edi, edi
jne 0x41dcdd
push edi
push edi
push 0x79
pop edx
mov ecx, ebx
call fcn.004156fd
pop ecx
pop ecx
jmp 0x41e4e5
movzx esi, byte [edi]
cmp esi, 0x58
jg 0x41e08d
je 0x41e0fb
cmp esi, 0x40
jg 0x41df3d
je 0x41de74
cmp esi, 0x1f
jg 0x41dd54
je 0x41dd2a
mov eax, esi
sub eax, 0x10
je 0x41e076
dec eax
je 0x41e128
sub eax, 4
jne 0x41e4d5
mov edx, dword [edi + 8]
call fcn.0041dca0
jmp 0x41dd4d
mov edx, dword [edi + 8]
call fcn.0041dca0
push 0
push 0
lea ecx, [edi + 0x14]
call fcn.00421306
movsx edx, al
add edx, 0x29
mov ecx, ebx
call fcn.004156fd
pop ecx
pop ecx
xor edx, edx
jmp 0x41e4d5
cmp esi, 0x30
je 0x41ddfd
cmp esi, 0x3b
jle 0x41e4d5
cmp esi, 0x3d
jle 0x41df62
cmp esi, 0x3f
jne 0x41e4d5
mov eax, dword [edi + 0x10]
mov ebx, dword [edi + 8]
mov edx, ebx
mov edi, dword [eax + 0xc]
mov esi, dword [edi]
call fcn.0041dca0
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0x5d
pop edx
call fcn.004156fd
mov ecx, dword [esp + 0x1c]
mov edx, esi
call fcn.0041dca0
mov ecx, dword [esp + 0x1c]
mov edx, ebx
push 0
push 0
push 0x48
push esi
call fcn.0041c664
mov ecx, dword [esp + 0x30]
push 0
push 1
push 0x66
pop edx
call fcn.004156fd
mov esi, dword [edi + 0xc]
mov edx, esi
mov ecx, dword [esp + 0x34]
call fcn.0041dca0
mov ecx, dword [esp + 0x34]
xor edi, edi
push edi
push edi
push 0x46
push esi
mov edx, ebx
call fcn.0041c664
mov ecx, dword [esp + 0x48]
push edi
push edi
push 0x3d
pop edx
call fcn.004156fd
add esp, 0x38
jmp 0x41e4d2
mov eax, ecx
xor ebx, ebx
cmp dword [eax + 0xac], ebx
jne 0x41de19
push str.RAISE___may_only_be_used_within_a_trigger_program
push eax
call fcn.0040b35f
jmp 0x41dcd6
cmp dword [edi + 0x28], 4
je 0x41de42
mov ecx, edi
call fcn.0041ca1c
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.00415750
jmp 0x41de6a
mov ecx, dword [esp + 0x18]
push ebx
push ebx
push 0x6c
pop edx
call fcn.004156fd
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.004156fd
add esp, 0x10
mov edx, ebx
jmp 0x41e4d5
mov eax, ecx
mov edx, edi
mov esi, dword [eax + 0x28]
call fcn.0041d957
mov ecx, edi
call fcn.0041c5f0
mov ecx, dword [esp + 0x18]
xor ebx, ebx
push ebx
push 1
push 0x2f
pop edx
mov byte [esp + 0x1b], al
call fcn.004156fd
mov ecx, dword [esp + 0x1c]
lea eax, [esi + 1]
mov dword [ecx + 0x28], eax
mov edx, dword [edi + 8]
call fcn.0041dca0
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 0x10]
lea eax, [esi + 4]
push eax
push 0xffffffffffffffff
push 0x42
pop edx
call fcn.004156fd
mov ecx, dword [esp + 0x28]
push ebx
push 2
push 0xb
pop edx
call fcn.004156fd
mov ecx, dword [esp + 0x30]
push ebx
push ebx
push 0x79
pop edx
call fcn.004156fd
mov ecx, dword [esp + 0x38]
add esi, 7
push esi
push ebx
push 0x5e
pop edx
call fcn.004156fd
mov ecx, dword [esp + 0x40]
push ebx
push 1
push 0x5a
pop edx
call fcn.004156fd
lea ecx, [esp + 0x43]
mov edx, eax
push 1
push ecx
mov ecx, dword [esp + 0x50]
call fcn.00415a57
mov ecx, dword [esp + 0x50]
mov edx, 0x85
push esi
push dword [edi + 0x24]
call fcn.004156fd
mov ecx, dword [esp + 0x58]
add esp, 0x40
push ebx
push 0xffffffffffffffff
push 0x27
pop edx
call fcn.004156fd
pop ecx
pop ecx
jmp 0x41e4d2
cmp esi, 0x55
jg 0x41e064
je 0x41dff9
cmp esi, 0x42
jle 0x41dfb8
cmp esi, 0x48
jle 0x41df87
lea eax, [esi - 0x4a]
cmp eax, 9
ja 0x41e4d5
mov edx, dword [edi + 8]
call fcn.0041dca0
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x14]
call fcn.0041dca0
push 0
push 0
mov edx, esi
mov ecx, ebx
call fcn.004156fd
pop ecx
pop ecx
jmp 0x41dfb0
mov edx, dword [edi + 8]
mov ebx, ecx
call fcn.0041dca0
mov edx, dword [edi + 0xc]
mov ecx, ebx
call fcn.0041dca0
mov edx, dword [edi + 8]
mov ecx, ebx
push 0
push 0
push esi
push dword [edi + 0xc]
call fcn.0041c664
add esp, 0x10
or edx, 0xffffffff
jmp 0x41e4d5
push 0
push edx
push 0x2f
pop edx
mov ecx, ebx
call fcn.004156fd
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x1c]
call fcn.0041dca0
mov eax, dword [ebx + 0x10]
mov edx, esi
add eax, 2
mov ecx, ebx
push eax
push 1
call fcn.004156fd
push 0
push 0xffffffffffffffff
push 0x27
pop edx
mov ecx, ebx
call fcn.004156fd
add esp, 0x18
jmp 0x41dd4d
mov eax, dword [edi + 8]
mov dword [esp + 0x34], eax
mov cl, byte [eax]
cmp cl, 0x7d
je 0x41e00c
cmp cl, 0x7c
jne 0x41e076
push dword [eax + 0x14]
mov eax, dword [eax + 0x18]
shr eax, 1
push eax
push str.__.s
call fcn.0040a77b
mov esi, eax
add esp, 0xc
mov eax, dword [esp + 0x34]
cmp byte [eax], 0x7d
jne 0x41e048
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.00415750
add esp, 0x10
jmp 0x41e059
mov eax, dword [eax + 0x18]
mov edx, esi
shr eax, 1
mov ecx, ebx
inc eax
push eax
call fcn.0041dbd7
pop ecx
push esi
call fcn.0040b198
jmp 0x41df37
mov eax, esi
sub eax, 0x56
je 0x41dd20
dec eax
jne 0x41e4d5
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x14]
call fcn.0041dca0
push 0
push 0
mov edx, esi
jmp 0x41dd44
mov eax, 0x80
cmp esi, eax
jg 0x41e17f
je 0x41e14b
mov eax, esi
sub eax, 0x5c
je 0x41e13f
sub eax, 0x12
je 0x41e128
sub eax, 0xe
je 0x41e113
dec eax
je 0x41e0fb
dec eax
je 0x41e0cd
dec eax
jne 0x41e4d5
push eax
push dword [edi + 0x24]
mov ecx, ebx
jmp 0x41df31
mov edx, dword [edi + 0x18]
mov ecx, 0x4e870e
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.00415750
add esp, 0x10
jmp 0x41e4d2
mov ecx, edi
call fcn.0041ca1c
mov eax, dword [edi + 0x18]
mov edx, esi
shr eax, 1
push eax
push dword [edi + 0x14]
push 0
push 0
jmp 0x41e0ec
mov eax, dword [edi + 0x18]
mov ecx, ebx
mov edx, dword [edi + 0x14]
shr eax, 1
push eax
call fcn.0041dbd7
jmp 0x41df37
cmp dword [edi + 0x28], 0
jne 0x41e138
mov edx, edi
call fcn.0041d957
xor edx, edx
inc edx
push 0
push dword [edi + 0x28]
jmp 0x41e0c6
push 0
push 0
push 0x79
pop edx
jmp 0x41e0c6
push 0
push dword [edi + 0x24]
mov ecx, ebx
push 0x19
pop edx
call fcn.004156fd
mov eax, dword [edi + 0x18]
xor edx, edx
shr eax, 1
inc edx
pop ecx
pop ecx
cmp eax, edx
jbe 0x41e4d5
push eax
push dword [edi + 0x14]
or edx, 0xffffffff
mov ecx, ebx
call fcn.00415a57
jmp 0x41df36
sub esi, 0x81
je 0x41e3a8
sub esi, 0x13
je 0x41e1a4
dec esi
je 0x41e219
dec esi
je 0x41e1e8
dec esi
je 0x41e1bc
dec esi
jne 0x41e4d5
mov eax, dword [edi + 0x10]
xor ebx, ebx
mov dword [esp + 0x20], eax
test eax, eax
je 0x41e248
mov edx, dword [eax]
jmp 0x41e24a
imul ecx, dword [edi + 0x30], 0x18
mov eax, dword [edi + 0x2c]
add ecx, dword [eax + 0x10]
cmp byte [eax], 0
jne 0x41e1d5
push 0
push dword [ecx + 0x10]
jmp 0x41e0c6
cmp byte [eax + 1], 0
je 0x41e219
push dword [ecx + 0xc]
push dword [eax + 4]
push 3
jmp 0x41e145
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x41e206
lea eax, [edi + 0x1c]
push eax
push str.misuse_of_aggregate:__T
push ecx
call fcn.0040b35f
add esp, 0xc
jmp 0x41e4d2
mov ecx, dword [edi + 0x30]
mov eax, dword [eax + 0x20]
add ecx, ecx
push 0
push dword [eax + ecx*8 + 8]
jmp 0x41e0c6
cmp dword [edi + 0x24], 0
mov ecx, ebx
jge 0x41e235
mov eax, dword [esp + 0x14]
push edx
mov eax, dword [eax + 0x28]
sub eax, dword [edi + 0x28]
dec eax
push eax
push 0x5d
jmp 0x41df30
push dword [edi + 0x24]
mov edx, dword [edi + 0x3c]
push dword [edi + 0x28]
call fcn.0041dc2c
jmp 0x41df36
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.00423c0d
mov edx, dword [esp + 0x30]
add esp, 0x10
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.0041e54e
mov edx, eax
mov dword [esp + 0x28], edx
cmp edx, 2
jl 0x41e2b8
test byte [edi + 2], 0x80
je 0x41e2b8
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
push dword [ecx + 0xc]
mov ecx, dword [esp + 0x20]
call fcn.004300e0
mov edx, dword [esp + 0x2c]
pop ecx
mov dword [esp + 0x1c], eax
jmp 0x41e2cb
test edx, edx
jle 0x41e2c7
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
push dword [eax]
jmp 0x41e2a4
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
test edx, edx
jle 0x41e349
mov edx, ebx
mov dword [esp + 0x30], edx
cmp edx, 0x180
jge 0x41e349
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + edx]
call fcn.0041d036
test eax, eax
je 0x41e305
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 0x41e331
cmp dword [esp + 0x24], ebx
jne 0x41e331
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.0041c567
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 0x41e2dd
cmp byte [eax + 3], bl
je 0x41e385
cmp dword [esp + 0x24], ebx
jne 0x41e35d
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.004156fd
push 0xfffffffffffffffc
push dword [esp + 0x30]
mov edx, eax
mov ecx, ebx
call fcn.00415a57
mov eax, dword [esp + 0x2c]
add esp, 0x10
jmp 0x41e389
mov ebx, dword [esp + 0x18]
push 0xfffffffffffffffb
push eax
push edi
push dword [esp + 0x40]
mov ecx, ebx
push 0x14
pop edx
call fcn.00415750
xor edx, edx
add esp, 0x10
inc edx
sub edx, edi
jmp 0x41e4d5
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0xc]
mov esi, dword [eax]
mov dword [esp + 0x24], ecx
mov ecx, ebx
call fcn.0041577c
mov edx, dword [edi + 8]
mov dword [esp + 0x2c], eax
test edx, edx
je 0x41e3cf
mov ecx, dword [esp + 0x14]
call fcn.0041dca0
xor ebx, ebx
test esi, esi
jle 0x41e48f
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.0041dca0
mov ecx, esi
cmp dword [edi + 8], ebx
je 0x41e437
xor eax, eax
inc eax
push eax
push eax
push 0x5d
pop edx
call fcn.004156fd
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.0041c664
push ebx
push 1
push 0xb
pop edx
mov ecx, esi
mov dword [esp + 0x54], eax
call fcn.004156fd
add esp, 0x20
jmp 0x41e448
push ebx
push 1
push 0x56
pop edx
call fcn.004156fd
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.0041dca0
push dword [esp + 0x2c]
mov ecx, esi
push ebx
push 0x5e
pop edx
call fcn.004156fd
push dword [esi + 0x10]
mov edx, dword [esp + 0x40]
mov ecx, esi
call fcn.00415998
mov eax, dword [esp + 0x30]
add esp, 0xc
add eax, 0x18
dec dword [esp + 0x30]
mov dword [esp + 0x24], eax
jne 0x41e3eb
jmp 0x41e493
mov esi, dword [esp + 0x18]
cmp dword [edi + 8], ebx
je 0x41e4a7
push ebx
push 1
push 0xb
pop edx
mov ecx, esi
call fcn.004156fd
pop ecx
pop ecx
mov edx, dword [edi + 0xc]
test edx, edx
je 0x41e4b9
mov ecx, dword [esp + 0x14]
call fcn.0041dca0
jmp 0x41e4c7
push ebx
push ebx
push 0x79
pop edx
mov ecx, esi
call fcn.004156fd
pop ecx
pop ecx
mov edx, dword [esp + 0x2c]
mov ecx, esi
call fcn.004157ba
xor edx, edx
inc edx
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x41e4e5
add eax, edx
mov dword [ecx + 0x28], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret