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

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0xc0
mov eax, dword [ebp + 0x7c]
push esi
mov esi, dword [ebp + 0x74]
xor edx, edx
push edi
mov edi, dword [esi + 0xc]
mov dword [ebp + 0x50], eax
mov eax, dword [esi]
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x48], edx
mov dword [ebp + 0x44], edx
mov dword [ebp + 0x58], eax
cmp edi, edx
jne 0x432ced
xor eax, eax
jmp 0x4336f4
push ebx
mov ebx, dword [ebp + 0x78]
cmp ebx, edx
jne 0x432cfd
push 0x5c
pop eax
jmp 0x4332a0
movzx eax, byte [ebx]
cmp eax, 0x58
mov dword [ebp + 0x64], eax
jg 0x43328d
je 0x433261
cmp eax, 0x40
jg 0x4330b2
je 0x432ef5
cmp eax, 0x1f
jg 0x432db5
je 0x432d5b
sub eax, 0x10
je 0x433229
dec eax
je 0x43331f
sub eax, 4
jne 0x4336da
push dword [ebp + 0x7c]
push dword [ebx + 8]
push dword [ebx + 0x24]
call fcn.0041e3b0
add esp, 0xc
jmp 0x4333c7
push dword [ebp + 0x7c]
push dword [ebx + 8]
push esi
call fcn.00432cb9
mov esi, eax
add esp, 0xc
lea ecx, [ebx + 0x14]
mov dword [ebp + 0x50], esi
call fcn.00419416
movsx ebx, al
add ebx, 0x2a
cmp esi, dword [ebp + 0x7c]
je 0x432d9a
push dword [ebp + 0x7c]
mov eax, edi
push esi
push 8
call fcn.0041d730
mov eax, dword [ebp + 0x7c]
add esp, 0xc
mov dword [ebp + 0x50], eax
mov esi, eax
push esi
push ebx
mov eax, edi
call fcn.0041d71b
pop ecx
pop ecx
xor ecx, ecx
inc ecx
mov eax, dword [ebp + 0x74]
call fcn.0041908f
jmp 0x4336da
cmp eax, 0x30
je 0x432e90
cmp eax, 0x3b
jle 0x4336da
cmp eax, 0x3d
jle 0x4330ea
cmp eax, 0x3f
jne 0x4336da
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 0xc]
mov edi, dword [ebx + 8]
mov ebx, dword [esi]
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x74]
mov ecx, ebx
mov eax, edi
mov dword [ebp + 0x64], edi
call fcn.0042643d
mov eax, dword [ebp + 0x74]
call fcn.004191fb
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x74]
call fcn.004191fb
push 0x10
push dword [ebp + 0x60]
mov dword [ebp + 0x68], eax
push dword [ebp + 0x54]
mov eax, ebx
push dword [ebp + 0x40]
push 0x48
push edi
mov edi, dword [ebp + 0x74]
call fcn.0042df75
mov ebx, dword [esi + 0x10]
mov esi, dword [ebp + 0x44]
mov eax, edi
call fcn.0041e48a
push ebx
push edi
lea edi, [ebp + 0x44]
call fcn.004226c7
mov edi, dword [ebp + 0x74]
push 0x10
push dword [ebp + 0x68]
push eax
push dword [ebp + 0x40]
mov eax, ebx
push 0x46
push dword [ebp + 0x64]
call fcn.0042df75
mov esi, dword [ebp + 0x60]
mov eax, dword [ebp + 0x4c]
add esp, 0x4c
push dword [ebp + 0x7c]
push dword [ebp + 0x68]
push esi
push 0x3d
call fcn.0041d6b0
add esp, 0x10
mov eax, edi
call fcn.0041e48a
mov esi, dword [ebp + 0x68]
mov eax, edi
call fcn.0041e48a
jmp 0x4336da
cmp dword [esi + 0x194], edx
jne 0x432eac
push str.RAISE___may_only_be_used_within_a_trigger_program
mov edi, esi
call fcn.0042066e
pop ecx
xor eax, eax
jmp 0x4336f3
cmp dword [ebx + 0x28], 4
je 0x432ed3
push dword [ebp + 0x58]
mov edi, ebx
call fcn.004222aa
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 0x43327d
xor ebx, ebx
push ebx
push ebx
push ebx
push 0x69
mov eax, edi
call fcn.0041d6b0
mov eax, dword [esi + 0x194]
push ebx
push dword [eax + 0x18]
mov eax, edi
push ebx
push 0x60
jmp 0x433111
and dword [ebp + 0x5c], edx
and dword [ebp + 0x58], edx
lea eax, [ebp + 0x58]
push eax
push ebx
mov eax, esi
call fcn.0043289e
cmp dword [ebp + 0x58], 0
pop ecx
pop ecx
mov dword [ebp + 0x60], eax
je 0x432f1b
inc dword [esi + 0x48]
mov eax, dword [esi + 0x48]
mov dword [ebp + 0x5c], eax
mov eax, ebx
call fcn.0041e026
push dword [ebp + 0x7c]
inc dword [esi + 0x54]
push dword [ebx + 8]
mov byte [ebp + 0x37], al
push esi
call fcn.004336fb
push dword [ebp + 0x7c]
dec dword [esi + 0x54]
push 0x41
mov eax, edi
call fcn.0041d71b
add esp, 0x14
cmp dword [ebp + 0x60], 1
mov dword [ebp + 0x64], eax
jne 0x432fb8
mov esi, dword [ebp + 0x7c]
push esi
push 0x26
mov eax, edi
call fcn.0041d71b
push esi
push 0
push dword [ebx + 0x24]
mov dword [ebp + 0x68], eax
push 0x2e
mov eax, edi
call fcn.0041d6b0
push 0
push esi
mov ebx, eax
push 1
push 0x30
mov eax, edi
call fcn.0041d6b0
push 0x60
push edi
call fcn.0041d705
mov edx, dword [edi + 0xc]
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x68]
mov ecx, edi
call fcn.00418475
mov edx, dword [edi + 0xc]
mov eax, ebx
mov ecx, edi
call fcn.00418475
push 0
push esi
push 0
push 0x30
mov eax, edi
call fcn.0041d6b0
add esp, 0x40
jmp 0x433098
mov eax, esi
call fcn.004191fb
push 1
lea ecx, [ebp + 0x37]
push ecx
push eax
push 1
push dword [ebp + 0x7c]
mov dword [ebp + 0x44], eax
push 0x5b
push edi
call fcn.00421aaa
xor esi, esi
push esi
push dword [ebp + 0x7c]
mov eax, edi
push 1
push 0x30
call fcn.0041d6b0
push dword [ebp + 0x44]
mov eax, edi
push esi
push dword [ebx + 0x24]
push 0x7d
call fcn.0041d6b0
add esp, 0x3c
mov dword [ebp + 0x60], eax
mov eax, edi
cmp dword [ebp + 0x5c], esi
jne 0x433018
push esi
push dword [ebp + 0x7c]
push esi
push 0x30
call fcn.0041d6b0
add esp, 0x10
jmp 0x433098
push dword [ebp + 0x58]
push 0x42
call fcn.0041d71b
xor esi, esi
push esi
push dword [ebp + 0x5c]
mov dword [ebp + 0x68], eax
push esi
push 0x74
mov eax, edi
call fcn.0041d6b0
push 0xfffffffffffffffe
push 0x482790
push esi
push dword [ebp + 0x58]
push 2
push 0x76
push edi
call fcn.00421aaa
push dword [ebp + 0x58]
mov eax, edi
push esi
push dword [ebx + 0x24]
push 0x7d
call fcn.0041d6b0
add esp, 0x44
push esi
push dword [ebp + 0x5c]
mov ebx, eax
push esi
push 0x30
mov eax, edi
call fcn.0041d6b0
mov edx, dword [edi + 0xc]
mov eax, ebx
mov ecx, edi
call fcn.00418475
mov edx, dword [edi + 0xc]
mov eax, dword [ebp + 0x68]
mov ecx, edi
call fcn.00418475
push dword [ebp + 0x7c]
mov eax, edi
push dword [ebp + 0x5c]
push 0x14
call fcn.0041d730
add esp, 0x1c
mov edx, dword [edi + 0xc]
mov eax, dword [ebp + 0x64]
mov ecx, edi
call fcn.00418475
mov edx, dword [edi + 0xc]
mov eax, dword [ebp + 0x60]
mov ecx, edi
jmp 0x4331a1
cmp eax, 0x55
jg 0x43321d
je 0x4331ab
cmp eax, 0x41
jl 0x4336da
cmp eax, 0x42
jle 0x43315a
cmp eax, 0x48
jle 0x43311b
cmp eax, 0x49
jle 0x4336da
cmp eax, 0x53
jg 0x4336da
push dword [ebx + 8]
lea edi, [ebp + 0x48]
push esi
call fcn.004226c7
push dword [ebx + 0xc]
lea edi, [ebp + 0x44]
push dword [ebp + 0x74]
mov esi, eax
call fcn.004226c7
push dword [ebp + 0x7c]
push esi
push eax
push dword [ebp + 0x64]
mov eax, dword [ebp + 0x4c]
call fcn.0041d6b0
jmp 0x433285
mov ecx, dword [ebx + 0xc]
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x40]
push eax
mov eax, dword [ebx + 8]
mov edi, esi
push edi
call fcn.0042643d
mov eax, dword [ebx + 0xc]
push 0x10
push dword [ebp + 0x7c]
push dword [ebp + 0x54]
push dword [ebp + 0x40]
push dword [ebp + 0x64]
push dword [ebx + 8]
call fcn.0042df75
add esp, 0x2c
jmp 0x4336da
push 0
push dword [ebp + 0x7c]
mov esi, edi
push 1
push 0x30
mov eax, esi
call fcn.0041d6b0
push dword [ebx + 8]
lea edi, [ebp + 0x48]
push dword [ebp + 0x74]
call fcn.004226c7
push eax
push dword [ebp + 0x64]
mov eax, esi
call fcn.0041d71b
push 0
push 0xffffffffffffffff
push dword [ebp + 0x7c]
mov edi, eax
push 0x2a
mov eax, esi
call fcn.0041d6b0
mov edx, dword [esi + 0xc]
add esp, 0x30
mov eax, edi
mov ecx, esi
call fcn.00418475
jmp 0x4336da
mov eax, dword [ebx + 8]
mov cl, byte [eax]
cmp cl, 0x7e
je 0x4331f4
cmp cl, 0x7d
je 0x433207
mov eax, esi
call fcn.004191fb
push 0
push eax
mov dword [ebp + 0x48], eax
push 0
push 0x30
mov eax, edi
call fcn.0041d6b0
push dword [ebx + 8]
lea edi, [ebp + 0x44]
push esi
call fcn.004226c7
push dword [ebp + 0x7c]
push dword [ebp + 0x48]
push eax
mov eax, dword [ebp + 0x4c]
push 0x4f
call fcn.0041d6b0
add esp, 0x28
jmp 0x433215
push dword [ebp + 0x7c]
mov eax, dword [eax + 0x14]
push 1
push edi
call fcn.00422590
add esp, 0xc
jmp 0x433215
push dword [ebp + 0x7c]
push edi
xor edi, edi
inc edi
call fcn.004225fd
pop ecx
pop ecx
mov eax, dword [ebp + 0x7c]
jmp 0x4333c7
sub eax, 0x56
je 0x433250
dec eax
jne 0x4336da
push dword [ebx + 8]
lea edi, [ebp + 0x48]
push esi
call fcn.004226c7
mov ecx, dword [ebp + 0x7c]
push ecx
push eax
push dword [ebp + 0x64]
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x50], ecx
call fcn.0041d730
add esp, 0x14
jmp 0x4336da
push dword [ebp + 0x7c]
push dword [ebx + 8]
push esi
call fcn.00432cb9
jmp 0x432d53
push dword [ebp + 0x58]
mov edi, ebx
call fcn.004222aa
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 dword [ebp + 0x4c]
call fcn.00421aaa
add esp, 0x20
jmp 0x4336da
mov ecx, 0x81
cmp eax, ecx
jg 0x433378
je 0x433349
sub eax, 0x5c
je 0x43333b
sub eax, 0x12
je 0x43331f
sub eax, 0xf
je 0x43330b
dec eax
je 0x4332f5
dec eax
je 0x4332c8
dec eax
jne 0x4336da
mov eax, dword [ebx + 0x24]
jmp 0x4333c7
mov esi, dword [ebx + 0x18]
mov edi, dword [ebx + 0x14]
mov ebx, dword [ebp + 0x4c]
mov ecx, dword [ebx]
shr esi, 1
sub esi, 3
inc edi
inc edi
push esi
call fcn.0041c32c
push 0xffffffffffffffff
push eax
mov eax, esi
push 0
push dword [ebp + 0x7c]
cdq
sub eax, edx
sar eax, 1
push eax
push 0x76
push ebx
jmp 0x433280
push dword [ebp + 0x7c]
mov eax, dword [ebx + 0x14]
push 0
push edi
call fcn.00422590
add esp, 0xc
jmp 0x4336da
push dword [ebp + 0x7c]
mov eax, ebx
push edi
xor edi, edi
call fcn.004225fd
pop ecx
pop ecx
jmp 0x4336da
cmp dword [ebx + 0x28], edx
jne 0x433333
push 0
push 0
push ebx
mov eax, esi
call fcn.0042dff2
add esp, 0xc
mov eax, dword [ebx + 0x28]
jmp 0x4333c7
push 0
push dword [ebp + 0x7c]
push 0
push 0x74
jmp 0x4333df
push dword [ebp + 0x7c]
mov eax, edi
push dword [ebx + 0x24]
push 0x1b
call fcn.0041d730
mov eax, dword [ebx + 0x18]
shr eax, 1
add esp, 0xc
cmp eax, 1
jbe 0x4336da
push eax
push dword [ebx + 0x14]
or eax, 0xffffffff
push edi
call fcn.0041da55
jmp 0x433303
sub eax, 0x82
je 0x4335d1
sub eax, 0x12
je 0x43339c
dec eax
je 0x433419
dec eax
je 0x4333ee
dec eax
je 0x4333b4
dec eax
jne 0x4336da
mov eax, dword [ebx + 0x10]
mov dword [ebp + 0x38], eax
cmp eax, edx
je 0x433452
mov eax, dword [eax]
mov dword [ebp + 0x3c], eax
jmp 0x433455
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x2c]
imul eax, eax, 0x18
add eax, dword [ecx + 0x10]
cmp byte [ecx], dl
jne 0x4333cf
mov eax, dword [eax + 0x10]
mov dword [ebp + 0x50], eax
jmp 0x4336da
cmp byte [ecx + 1], dl
je 0x433419
push dword [ebp + 0x7c]
push dword [eax + 0xc]
push dword [ecx + 4]
push 3
mov eax, edi
call fcn.0041d6b0
add esp, 0x10
jmp 0x4336da
mov eax, dword [ebx + 0x2c]
cmp eax, edx
jne 0x43340a
add ebx, 0x1c
push ebx
push str.misuse_of_aggregate:__T
mov edi, esi
call fcn.0042066e
jmp 0x433318
mov ecx, dword [ebx + 0x30]
mov eax, dword [eax + 0x20]
shl ecx, 4
mov eax, dword [ecx + eax + 8]
jmp 0x4333c7
mov eax, dword [ebx + 0x24]
cmp eax, edx
jge 0x43342e
mov esi, dword [esi + 0x50]
add esi, dword [ebx + 0x28]
mov dword [ebp + 0x50], esi
jmp 0x4336da
movzx ecx, word [ebx + 2]
and ecx, 0x200
push ecx
push dword [ebp + 0x7c]
mov edi, esi
push eax
push dword [ebx + 0x28]
mov ebx, dword [ebx + 0x3c]
call fcn.00432bb3
add esp, 0x10
jmp 0x4333c7
mov dword [ebp + 0x3c], edx
mov eax, dword [ebp + 0x58]
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 0x14]
mov cl, byte [ecx + 0x49]
and dword [ebp + 0x60], edx
and dword [ebp + 0x64], edx
mov edx, dword [ebx + 0x14]
mov byte [ebp + 0x68], cl
mov ecx, dword [ebx + 0x18]
push 0
push dword [ebp + 0x68]
shr ecx, 1
push edx
push eax
mov eax, dword [ebp + 0x3c]
call fcn.00423319
add esp, 0x10
cmp dword [ebp + 0x38], 0
mov dword [ebp + 0x5c], eax
je 0x4334b0
mov eax, dword [ebp + 0x38]
mov eax, dword [eax]
push eax
mov dword [ebp + 0x3c], eax
call fcn.00419216
push 1
mov dword [ebp + 0x40], eax
push eax
mov eax, dword [ebp + 0x38]
mov ecx, esi
call fcn.0042651f
add esp, 0xc
jmp 0x4334b8
and dword [ebp + 0x40], 0
and dword [ebp + 0x3c], 0
mov eax, dword [ebp + 0x3c]
cmp eax, 2
jl 0x4334d2
test byte [ebx + 2], 0x80
je 0x4334d2
mov ecx, dword [ebp + 0x38]
mov ecx, dword [ecx + 0xc]
push eax
mov eax, dword [ecx + 0x10]
jmp 0x4334df
test eax, eax
jle 0x4334f0
mov ecx, dword [ebp + 0x38]
mov ecx, dword [ecx + 0xc]
push eax
mov eax, dword [ecx]
push dword [ebp + 0x5c]
push dword [ebp + 0x58]
call fcn.0042f718
mov dword [ebp + 0x5c], eax
add esp, 0xc
xor eax, eax
cmp dword [ebp + 0x3c], eax
mov dword [ebp + 0x68], eax
jle 0x433564
mov dword [ebp + 0x54], eax
cmp dword [ebp + 0x54], 0x200
jge 0x433564
mov eax, dword [ebp + 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp + 0x54]
push dword [ecx + eax]
xor eax, eax
inc eax
call fcn.0041e2ad
pop ecx
test eax, eax
je 0x43352a
mov ecx, dword [ebp + 0x68]
xor eax, eax
inc eax
shl eax, cl
or dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x5c]
test byte [eax + 3], 8
je 0x433555
cmp dword [ebp + 0x64], 0
jne 0x433555
mov eax, dword [ebp + 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp + 0x54]
mov eax, dword [ecx + eax]
mov ebx, esi
call fcn.0042de84
mov edi, dword [ebp + 0x4c]
mov esi, dword [ebp + 0x74]
mov dword [ebp + 0x64], eax
inc dword [ebp + 0x68]
mov eax, dword [ebp + 0x68]
add dword [ebp + 0x54], 0x10
cmp eax, dword [ebp + 0x3c]
jl 0x4334fd
mov eax, dword [ebp + 0x5c]
test byte [eax + 3], 8
je 0x433591
cmp dword [ebp + 0x64], 0
jne 0x43357c
mov eax, dword [ebp + 0x58]
mov eax, dword [eax + 0x2c]
mov dword [ebp + 0x64], eax
push 0xfffffffffffffffc
push dword [ebp + 0x64]
xor eax, eax
push eax
push eax
push eax
push 0xc
push edi
call fcn.00421aaa
add esp, 0x1c
push 0xfffffffffffffffb
push dword [ebp + 0x5c]
push dword [ebp + 0x7c]
push dword [ebp + 0x40]
push dword [ebp + 0x60]
push 0x16
push edi
call fcn.00421aaa
mov ebx, dword [ebp + 0x3c]
add esp, 0x1c
mov dl, bl
mov ecx, edi
call fcn.00418491
test ebx, ebx
je 0x4335c7
push dword [ebp + 0x40]
mov ecx, ebx
mov eax, esi
call fcn.0041925c
pop ecx
mov esi, dword [ebp + 0x40]
mov ecx, ebx
jmp 0x432da8
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax]
and dword [ebp + 0x64], edx
mov dword [ebp + 0x54], eax
mov eax, edi
mov dword [ebp + 0x68], ecx
call fcn.0041d747
mov dword [ebp + 0x58], eax
mov eax, dword [ebx + 8]
mov dword [ebp + 0x60], eax
test eax, eax
je 0x43362b
push 0x11
pop ecx
mov esi, eax
push eax
push dword [ebp + 0x74]
lea edi, [ebp - 0x10]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp + 0x48]
call fcn.004226c7
mov edi, dword [ebp + 0x4c]
mov esi, dword [ebp + 0x74]
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x4c], eax
pop ecx
lea eax, [ebp - 0x54]
pop ecx
mov byte [ebp - 0x10], 0x80
mov byte [ebp - 0x54], 0x44
mov dword [ebp + 0x64], eax
inc dword [esi + 0x54]
cmp dword [ebp + 0x54], 0
jle 0x4336a4
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x68]
dec eax
shr eax, 1
inc eax
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x54], eax
jmp 0x433649
mov ecx, dword [ebp + 0x68]
cmp dword [ebp + 0x60], 0
mov eax, dword [ecx]
je 0x433656
mov dword [ebp - 0x48], eax
jmp 0x433659
mov dword [ebp + 0x64], eax
mov eax, edi
call fcn.0041d747
push 8
push eax
push dword [ebp + 0x64]
mov dword [ebp + 0x5c], eax
push esi
call fcn.0042e501
push dword [ebp + 0x7c]
mov eax, dword [ebp + 0x68]
push dword [eax + 0x10]
push esi
call fcn.004336fb
push 0
push dword [ebp + 0x58]
mov eax, edi
push 0
push 0x60
call fcn.0041d6b0
mov edx, dword [ebp + 0x5c]
add esp, 0x2c
mov ecx, edi
call fcn.00418443
add dword [ebp + 0x68], 0x20
dec dword [ebp + 0x54]
jne 0x433646
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x4336ba
push dword [ebp + 0x7c]
push ebx
push esi
call fcn.004336fb
add esp, 0xc
jmp 0x4336cd
push 0
push dword [ebp + 0x7c]
mov eax, edi
push 0
push 0x74
call fcn.0041d6b0
add esp, 0x10
mov edx, dword [ebp + 0x58]
mov ecx, edi
call fcn.00418443
dec dword [esi + 0x54]
mov esi, dword [ebp + 0x48]
mov eax, dword [ebp + 0x74]
call fcn.0041e48a
mov esi, dword [ebp + 0x44]
mov eax, dword [ebp + 0x74]
call fcn.0041e48a
mov eax, dword [ebp + 0x50]
pop ebx
pop edi
pop esi
add ebp, 0x6c
leave
ret