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

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0xb4
mov eax, dword [ebp + 0x7c]
push esi
push edi
mov edi, dword [ebp + 0x74]
mov esi, dword [edi + 0xc]
xor edx, edx
mov dword [ebp + 0x50], eax
mov eax, dword [edi]
mov dword [ebp + 0x60], esi
mov dword [ebp + 0x44], edx
mov dword [ebp + 0x48], edx
mov dword [ebp + 0x68], eax
cmp esi, edx
jne 0x1001e97e
xor eax, eax
jmp 0x1001f306
push ebx
mov ebx, dword [ebp + 0x78]
cmp ebx, edx
jne 0x1001e98e
push 0x5c
pop eax
jmp 0x1001eedf
movzx eax, byte [ebx]
cmp eax, 0x57
mov dword [ebp + 0x64], eax
jg 0x1001eecc
je 0x1001eea6
cmp eax, 0x3f
jg 0x1001eba7
je 0x1001eaf2
cmp eax, 0x10
je 0x1001eea6
cmp eax, 0x11
je 0x1001ef30
cmp eax, 0x15
je 0x1001eada
cmp eax, 0x1f
je 0x1001ea7e
cmp eax, 0x30
je 0x1001ea20
cmp eax, 0x3b
jle 0x1001f2ec
cmp eax, 0x3d
jg 0x1001f2ec
push dword [ebx + 8]
push edi
lea edi, [ebp + 0x44]
call fcn.1000f572
push dword [ebx + 0xc]
lea edi, [ebp + 0x48]
push dword [ebp + 0x74]
mov dword [ebp + 0x4c], eax
call fcn.1000f572
push dword [ebp + 0x7c]
push dword [ebp + 0x4c]
push eax
push dword [ebp + 0x64]
mov eax, esi
call fcn.10009efe
jmp 0x1001ef7c
cmp dword [edi + 0x194], edx
jne 0x1001ea3a
push str.RAISE___may_only_be_used_within_a_trigger_program
call fcn.1000d572
pop ecx
xor eax, eax
jmp 0x1001f305
cmp dword [ebx + 0x28], 4
je 0x1001ea61
push dword [ebp + 0x68]
mov edi, ebx
call fcn.1000f155
mov eax, dword [ebx + 0x18]
shr eax, 1
push eax
push dword [ebx + 0x14]
push 0
push dword [ebx + 0x28]
push 0x13
push 0x27
jmp 0x1001ef76
xor ebx, ebx
push ebx
push ebx
push ebx
push 0x69
mov eax, esi
call fcn.10009efe
mov eax, dword [edi + 0x194]
push ebx
push dword [eax + 0x18]
push ebx
push 0x60
jmp 0x1001ea14
push dword [ebp + 0x7c]
push dword [ebx + 8]
push edi
call fcn.1001e94a
mov edi, eax
add esp, 0xc
lea ecx, [ebx + 0x14]
mov dword [ebp + 0x50], edi
call fcn.10005e95
movsx ebx, al
add ebx, 0x2a
cmp edi, dword [ebp + 0x7c]
je 0x1001eabb
push dword [ebp + 0x7c]
mov eax, esi
push edi
push 8
call fcn.10009f7e
mov eax, dword [ebp + 0x7c]
add esp, 0xc
mov dword [ebp + 0x50], eax
mov esi, dword [ebp + 0x50]
mov eax, dword [ebp + 0x60]
push esi
push ebx
call fcn.10009f69
pop ecx
pop ecx
xor ecx, ecx
inc ecx
mov eax, dword [ebp + 0x74]
call fcn.10005b44
jmp 0x1001f2ec
push dword [ebp + 0x7c]
mov esi, edi
push dword [ebx + 8]
push dword [ebx + 0x24]
call fcn.1000ad4d
add esp, 0xc
jmp 0x1001efff
mov ecx, dword [ebx + 0x10]
mov esi, dword [ecx + 0xc]
mov eax, dword [ebx + 8]
mov edi, dword [esi]
mov ebx, dword [ebp + 0x74]
lea ecx, [ebp + 0x48]
push ecx
lea ecx, [ebp + 0x58]
push ecx
lea ecx, [ebp + 0x44]
push ecx
lea ecx, [ebp + 0x4c]
push ecx
push ebx
mov ecx, edi
mov dword [ebp + 0x54], eax
call fcn.10013454
mov eax, ebx
call fcn.10005cb0
mov dword [ebp + 0x64], eax
mov eax, ebx
call fcn.10005cb0
push 0x10
push dword [ebp + 0x64]
mov dword [ebp + 0x68], eax
push dword [ebp + 0x58]
mov eax, edi
push dword [ebp + 0x4c]
mov edi, ebx
push 0x48
push dword [ebp + 0x54]
call fcn.1001a4e0
mov ebx, dword [esi + 0x10]
mov esi, dword [ebp + 0x48]
mov eax, edi
call fcn.1000ae27
push ebx
push edi
lea edi, [ebp + 0x48]
call fcn.1000f572
mov edi, dword [ebp + 0x74]
push 0x10
push dword [ebp + 0x68]
push eax
push dword [ebp + 0x4c]
mov eax, ebx
push 0x46
push dword [ebp + 0x54]
call fcn.1001a4e0
mov esi, dword [ebp + 0x64]
mov eax, dword [ebp + 0x60]
add esp, 0x4c
push dword [ebp + 0x7c]
push dword [ebp + 0x68]
push esi
push 0x3d
call fcn.10009efe
add esp, 0x10
mov eax, edi
call fcn.1000ae27
mov esi, dword [ebp + 0x68]
mov eax, edi
call fcn.1000ae27
jmp 0x1001f2ec
cmp eax, 0x53
jg 0x1001ee18
cmp eax, 0x4a
jge 0x1001e9ed
cmp eax, 0x40
je 0x1001ec60
jle 0x1001f2ec
cmp eax, 0x42
jle 0x1001ec13
cmp eax, 0x48
jg 0x1001f2ec
mov ecx, dword [ebx + 0xc]
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x4c]
push eax
mov eax, dword [ebx + 8]
push edi
call fcn.10013454
mov eax, dword [ebx + 0xc]
push 0x10
push dword [ebp + 0x7c]
push dword [ebp + 0x58]
push dword [ebp + 0x4c]
push dword [ebp + 0x64]
push dword [ebx + 8]
call fcn.1001a4e0
add esp, 0x2c
jmp 0x1001f2ec
push 0
push dword [ebp + 0x7c]
mov eax, esi
push 1
push 0x30
call fcn.10009efe
push dword [ebx + 8]
push edi
lea edi, [ebp + 0x44]
call fcn.1000f572
push eax
push dword [ebp + 0x64]
mov eax, esi
call fcn.10009f69
push 0
push 0xffffffffffffffff
push dword [ebp + 0x7c]
mov edi, eax
push 0x2a
mov eax, esi
call fcn.10009efe
add esp, 0x30
mov eax, edi
mov edx, dword [esi + 0xc]
mov ecx, esi
call fcn.10004f2a
jmp 0x1001f2ec
and dword [ebp + 0x60], edx
and dword [ebp + 0x5c], edx
lea eax, [ebp + 0x5c]
push eax
push ebx
mov eax, edi
call fcn.1001e635
cmp dword [ebp + 0x5c], 0
pop ecx
pop ecx
mov dword [ebp + 0x54], eax
je 0x1001ec86
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
mov dword [ebp + 0x60], eax
mov eax, ebx
call fcn.1000a9c3
push dword [ebp + 0x7c]
inc dword [edi + 0x54]
push dword [ebx + 8]
mov byte [ebp + 0x43], al
push edi
call fcn.1001f30d
push dword [ebp + 0x7c]
dec dword [edi + 0x54]
push 0x41
mov eax, esi
call fcn.10009f69
add esp, 0x14
cmp dword [ebp + 0x54], 1
mov dword [ebp + 0x64], eax
jne 0x1001ed23
mov edi, dword [ebp + 0x7c]
push edi
push 0x26
mov eax, esi
call fcn.10009f69
push edi
push 0
push dword [ebx + 0x24]
mov dword [ebp + 0x68], eax
push 0x2e
mov eax, esi
call fcn.10009efe
push 0
push edi
mov ebx, eax
push 1
push 0x30
mov eax, esi
call fcn.10009efe
push 0x60
push esi
call fcn.10009f53
mov edx, dword [esi + 0xc]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x68]
mov ecx, esi
call fcn.10004f2a
mov edx, dword [esi + 0xc]
mov eax, ebx
mov ecx, esi
call fcn.10004f2a
push 0
push edi
push 0
push 0x30
mov eax, esi
call fcn.10009efe
add esp, 0x40
jmp 0x1001ee03
mov eax, edi
call fcn.10005cb0
push 1
lea ecx, [ebp + 0x43]
push ecx
push eax
push 1
push dword [ebp + 0x7c]
mov dword [ebp + 0x48], eax
push 0x5b
push esi
call fcn.1000ea8b
xor edi, edi
push edi
push dword [ebp + 0x7c]
mov eax, esi
push 1
push 0x30
call fcn.10009efe
push dword [ebp + 0x48]
mov eax, esi
push edi
push dword [ebx + 0x24]
push 0x7d
call fcn.10009efe
add esp, 0x3c
mov dword [ebp + 0x54], eax
mov eax, esi
cmp dword [ebp + 0x60], edi
jne 0x1001ed83
push edi
push dword [ebp + 0x7c]
push edi
push 0x30
call fcn.10009efe
add esp, 0x10
jmp 0x1001ee03
push dword [ebp + 0x5c]
push 0x42
call fcn.10009f69
xor edi, edi
push edi
push dword [ebp + 0x60]
mov dword [ebp + 0x68], eax
push edi
push 0x74
mov eax, esi
call fcn.10009efe
push 0xfffffffffffffffe
push 0x10033800
push edi
push dword [ebp + 0x5c]
push 2
push 0x76
push esi
call fcn.1000ea8b
push dword [ebp + 0x5c]
mov eax, esi
push edi
push dword [ebx + 0x24]
push 0x7d
call fcn.10009efe
add esp, 0x44
push edi
push dword [ebp + 0x60]
mov ebx, eax
push edi
push 0x30
mov eax, esi
call fcn.10009efe
mov edx, dword [esi + 0xc]
mov eax, ebx
mov ecx, esi
call fcn.10004f2a
mov edx, dword [esi + 0xc]
mov eax, dword [ebp + 0x68]
mov ecx, esi
call fcn.10004f2a
push dword [ebp + 0x7c]
mov eax, esi
push dword [ebp + 0x60]
push 0x14
call fcn.10009f7e
add esp, 0x1c
mov edx, dword [esi + 0xc]
mov eax, dword [ebp + 0x64]
mov ecx, esi
call fcn.10004f2a
mov eax, dword [ebp + 0x54]
jmp 0x1001ec51
sub eax, 0x55
je 0x1001ee35
dec eax
jne 0x1001f2ec
push dword [ebp + 0x7c]
push dword [ebx + 8]
push edi
call fcn.1001e94a
jmp 0x1001eaea
mov eax, dword [ebx + 8]
mov cl, byte [eax]
cmp cl, 0x7e
je 0x1001ee7d
cmp cl, 0x7d
je 0x1001ee90
mov eax, edi
call fcn.10005cb0
push 0
push eax
mov dword [ebp + 0x44], eax
push 0
push 0x30
mov eax, esi
call fcn.10009efe
push dword [ebx + 8]
push edi
lea edi, [ebp + 0x48]
call fcn.1000f572
push dword [ebp + 0x7c]
push dword [ebp + 0x44]
push eax
push 0x4f
mov eax, esi
call fcn.10009efe
add esp, 0x28
jmp 0x1001ee9e
push dword [ebp + 0x7c]
mov eax, dword [eax + 0x14]
push 1
push esi
call fcn.1000f43b
add esp, 0xc
jmp 0x1001ee9e
push dword [ebp + 0x7c]
xor edi, edi
push esi
inc edi
call fcn.1000f4a8
pop ecx
pop ecx
mov eax, dword [ebp + 0x7c]
jmp 0x1001efff
push dword [ebx + 8]
push edi
lea edi, [ebp + 0x44]
call fcn.1000f572
mov ecx, dword [ebp + 0x7c]
push ecx
push eax
push dword [ebp + 0x64]
mov eax, esi
mov dword [ebp + 0x50], ecx
call fcn.10009f7e
add esp, 0x14
jmp 0x1001f2ec
mov ecx, 0x81
cmp eax, ecx
jg 0x1001efb6
je 0x1001ef84
sub eax, 0x58
je 0x1001ef5a
sub eax, 4
je 0x1001ef4c
sub eax, 0x12
je 0x1001ef30
sub eax, 0xf
je 0x1001ef1c
dec eax
je 0x1001ef06
dec eax
dec eax
jne 0x1001f2ec
mov eax, dword [ebx + 0x24]
jmp 0x1001efff
push dword [ebp + 0x7c]
mov eax, dword [ebx + 0x14]
push 0
push esi
call fcn.1000f43b
add esp, 0xc
jmp 0x1001f2ec
push dword [ebp + 0x7c]
xor edi, edi
push esi
mov eax, ebx
call fcn.1000f4a8
pop ecx
pop ecx
jmp 0x1001f2ec
cmp dword [ebx + 0x28], edx
jne 0x1001ef44
push 0
push 0
push ebx
mov eax, edi
call fcn.1001a55c
add esp, 0xc
mov eax, dword [ebx + 0x28]
jmp 0x1001efff
push 0
push dword [ebp + 0x7c]
push 0
push 0x74
jmp 0x1001f017
push dword [ebp + 0x68]
mov edi, ebx
call fcn.1000f155
mov eax, dword [ebx + 0x18]
shr eax, 1
push eax
push dword [ebx + 0x14]
push 0
push dword [ebp + 0x7c]
push 0
push 0x58
push esi
call fcn.1000ea8b
add esp, 0x20
jmp 0x1001f2ec
push dword [ebp + 0x7c]
mov eax, esi
push dword [ebx + 0x24]
push 0x1b
call fcn.10009f7e
mov eax, dword [ebx + 0x18]
shr eax, 1
add esp, 0xc
cmp eax, 1
jbe 0x1001f2ec
push eax
push dword [ebx + 0x14]
or eax, 0xffffffff
push esi
call fcn.1000a2a3
jmp 0x1001ef14
sub eax, 0x82
je 0x1001f1e3
sub eax, 0x12
je 0x1001efda
dec eax
je 0x1001f04f
dec eax
je 0x1001f026
dec eax
je 0x1001efec
dec eax
jne 0x1001f2ec
mov edi, dword [ebx + 0x10]
cmp edi, edx
je 0x1001f086
mov eax, dword [edi]
jmp 0x1001f088
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x2c]
imul eax, eax, 0x18
add eax, dword [ecx + 0x10]
cmp byte [ecx], dl
jne 0x1001f007
mov eax, dword [eax + 0x10]
mov dword [ebp + 0x50], eax
jmp 0x1001f2ec
cmp byte [ecx + 1], dl
je 0x1001f04f
push dword [ebp + 0x7c]
push dword [eax + 0xc]
push dword [ecx + 4]
push 3
mov eax, esi
call fcn.10009efe
add esp, 0x10
jmp 0x1001f2ec
mov eax, dword [ebx + 0x2c]
cmp eax, edx
jne 0x1001f040
add ebx, 0x1c
push ebx
push str.misuse_of_aggregate:__T
call fcn.1000d572
jmp 0x1001ef29
mov ecx, dword [ebx + 0x30]
mov eax, dword [eax + 0x20]
shl ecx, 4
mov eax, dword [ecx + eax + 8]
jmp 0x1001efff
mov eax, dword [ebx + 0x24]
cmp eax, edx
jge 0x1001f064
mov edi, dword [edi + 0x50]
add edi, dword [ebx + 0x28]
mov dword [ebp + 0x50], edi
jmp 0x1001f2ec
movzx ecx, word [ebx + 2]
and ecx, 0x200
push ecx
push dword [ebp + 0x7c]
push eax
push dword [ebx + 0x28]
mov ebx, dword [ebx + 0x3c]
call fcn.1001a863
add esp, 0x10
jmp 0x1001efff
xor eax, eax
mov esi, dword [ebp + 0x68]
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0x14]
mov cl, byte [ecx + 0x49]
and dword [ebp + 0x54], edx
and dword [ebp + 0x58], edx
mov edx, dword [ebx + 0x14]
mov byte [ebp + 0x64], cl
mov ecx, dword [ebx + 0x18]
push 0
push dword [ebp + 0x64]
shr ecx, 1
push edx
push esi
call fcn.10010149
add esp, 0x10
mov dword [ebp + 0x5c], eax
test edi, edi
je 0x1001f0e0
mov eax, dword [edi]
mov esi, dword [ebp + 0x74]
push eax
mov dword [ebp + 0x64], eax
call fcn.10005ccb
push 1
mov dword [ebp + 0x4c], eax
push eax
mov eax, edi
mov ecx, esi
call fcn.10013536
mov esi, dword [ebp + 0x68]
add esp, 0xc
jmp 0x1001f0e8
and dword [ebp + 0x4c], 0
and dword [ebp + 0x64], 0
mov eax, dword [ebp + 0x64]
cmp eax, 2
jl 0x1001f0ff
test byte [ebx + 2], 0x80
je 0x1001f0ff
mov ecx, dword [edi + 0xc]
push eax
mov eax, dword [ecx + 0x10]
jmp 0x1001f109
test eax, eax
jle 0x1001f118
mov ecx, dword [edi + 0xc]
push eax
mov eax, dword [ecx]
push dword [ebp + 0x5c]
push esi
call fcn.10015a39
mov dword [ebp + 0x5c], eax
add esp, 0xc
and dword [ebp + 0x68], 0
cmp dword [ebp + 0x64], 0
jle 0x1001f178
xor ebx, ebx
cmp ebx, 0x200
jge 0x1001f178
mov eax, dword [edi + 0xc]
push dword [ebx + eax]
xor eax, eax
inc eax
call fcn.1000ac4a
pop ecx
test eax, eax
je 0x1001f14a
mov ecx, dword [ebp + 0x68]
xor eax, eax
inc eax
shl eax, cl
or dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x5c]
test byte [eax + 3], 8
je 0x1001f16a
cmp dword [ebp + 0x58], 0
jne 0x1001f16a
mov eax, dword [edi + 0xc]
mov eax, dword [ebx + eax]
mov ecx, dword [ebp + 0x74]
call fcn.1001a3f6
mov dword [ebp + 0x58], eax
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
add ebx, 0x10
cmp eax, dword [ebp + 0x64]
jl 0x1001f124
mov eax, dword [ebp + 0x5c]
test byte [eax + 3], 8
je 0x1001f1a3
xor eax, eax
cmp dword [ebp + 0x58], eax
jne 0x1001f18e
mov ecx, dword [esi + 0x2c]
mov dword [ebp + 0x58], ecx
push 0xfffffffffffffffc
push dword [ebp + 0x58]
push eax
push eax
push eax
push 0xc
push dword [ebp + 0x60]
call fcn.1000ea8b
add esp, 0x1c
mov esi, dword [ebp + 0x4c]
push 0xfffffffffffffffb
push dword [ebp + 0x5c]
push dword [ebp + 0x7c]
push esi
push dword [ebp + 0x54]
push 0x16
push dword [ebp + 0x60]
call fcn.1000ea8b
mov ebx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x60]
add esp, 0x1c
mov dl, bl
call fcn.10004f46
test ebx, ebx
je 0x1001f1dc
mov eax, dword [ebp + 0x74]
push esi
mov ecx, ebx
call fcn.10005d11
pop ecx
mov ecx, ebx
jmp 0x1001eacd
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax]
and dword [ebp + 0x64], edx
mov dword [ebp + 0x58], eax
mov eax, esi
mov dword [ebp + 0x68], ecx
call fcn.10009f95
mov dword [ebp + 0x5c], eax
mov eax, dword [ebx + 8]
mov dword [ebp + 0x54], eax
test eax, eax
je 0x1001f23d
push 0x11
pop ecx
mov esi, eax
push eax
push dword [ebp + 0x74]
lea edi, [ebp - 4]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp + 0x44]
call fcn.1000f572
mov esi, dword [ebp + 0x60]
mov edi, dword [ebp + 0x74]
mov dword [ebp + 0x20], eax
lea eax, [ebp - 4]
mov dword [ebp - 0x40], eax
pop ecx
lea eax, [ebp - 0x48]
pop ecx
mov byte [ebp - 4], 0x80
mov byte [ebp - 0x48], 0x44
mov dword [ebp + 0x64], eax
inc dword [edi + 0x54]
cmp dword [ebp + 0x58], 0
jle 0x1001f2b6
mov eax, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x68]
dec eax
shr eax, 1
inc eax
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x58], eax
jmp 0x1001f25b
mov ecx, dword [ebp + 0x68]
cmp dword [ebp + 0x54], 0
mov eax, dword [ecx]
je 0x1001f268
mov dword [ebp - 0x3c], eax
jmp 0x1001f26b
mov dword [ebp + 0x64], eax
mov eax, esi
call fcn.10009f95
push 8
push eax
push dword [ebp + 0x64]
mov dword [ebp + 0x60], eax
push edi
call fcn.1001ab64
push dword [ebp + 0x7c]
mov eax, dword [ebp + 0x68]
push dword [eax + 0x10]
push edi
call fcn.1001f30d
push 0
push dword [ebp + 0x5c]
mov eax, esi
push 0
push 0x60
call fcn.10009efe
mov edx, dword [ebp + 0x60]
add esp, 0x2c
mov ecx, esi
call fcn.10004ef8
add dword [ebp + 0x68], 0x20
dec dword [ebp + 0x58]
jne 0x1001f258
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x1001f2cc
push dword [ebp + 0x7c]
push ebx
push edi
call fcn.1001f30d
add esp, 0xc
jmp 0x1001f2df
push 0
push dword [ebp + 0x7c]
mov eax, esi
push 0
push 0x74
call fcn.10009efe
add esp, 0x10
mov edx, dword [ebp + 0x5c]
mov ecx, esi
call fcn.10004ef8
dec dword [edi + 0x54]
mov esi, dword [ebp + 0x44]
mov eax, dword [ebp + 0x74]
call fcn.1000ae27
mov esi, dword [ebp + 0x48]
mov eax, dword [ebp + 0x74]
call fcn.1000ae27
mov eax, dword [ebp + 0x50]
pop ebx
pop edi
pop esi
add ebp, 0x6c
leave
ret