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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
mov esi, dword [ebp + 0x10]
xor ecx, ecx
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov eax, edi
mov dword [ebp - 0x10], ecx
mov ecx, dword [esi + 0x2c]
shr eax, 0x13
and eax, 1
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 8], ebx
mov edx, dword [eax]
mov eax, dword [esi + 0x14]
mov dword [ebp - 4], edx
lea eax, [eax + ecx*2]
mov dword [ebp - 0x2c], eax
cmp edx, dword [esi + 0x20]
jae 0x42dd5e
mov dword [ebp - 0x24], 0xff
nop
movzx eax, word [edx]
test ebx, ebx
je 0x42d4d8
cmp eax, 0x5c
jne case.0x42d5da.42
cmp word [edx + 2], 0x45
jne case.0x42d5da.42
xor ebx, ebx
add edx, 2
mov dword [ebp - 8], ebx
jmp case.0x42d5da.42
mov ecx, edi
and ecx, 0x80
mov dword [ebp - 0x28], ecx
je 0x42d5c7
nop dword [eax]
cmp eax, 0xff
ja 0x42d516
mov ecx, dword [esi + 0x10]
nop word [eax + eax]
test byte [ecx + eax], 1
je 0x42d516
add edx, 2
mov dword [ebp - 4], edx
movzx eax, word [edx]
cmp eax, 0xff
jbe 0x42d500
cmp eax, 0x23
jne 0x42d5c1
add edx, 2
mov dword [ebp - 4], edx
movzx edi, word [edx]
test di, di
je 0x42d560
nop dword [eax]
mov ebx, dword [esi + 0x58]
mov ecx, dword [esi + 0x20]
test ebx, ebx
je 0x42d565
cmp edx, ecx
jae 0x42d586
push dword [ebp - 0x18]
lea eax, [esi + 0x5c]
push eax
push ecx
push ebx
push edx
call fcn.0043a430
mov edx, dword [ebp - 4]
add esp, 0x14
test eax, eax
je 0x42d586
mov eax, dword [esi + 0x5c]
lea edx, [edx + eax*2]
mov dword [ebp - 4], edx
movzx eax, word [edx]
jmp 0x42d4f0
mov ebx, dword [esi + 0x5c]
lea eax, [ebx + ebx]
sub ecx, eax
cmp edx, ecx
ja 0x42d586
cmp di, word [esi + 0x60]
jne 0x42d586
cmp ebx, 1
je 0x42d557
mov ax, word [edx + 2]
cmp ax, word [esi + 0x62]
je 0x42d557
add edx, 2
cmp dword [ebp - 0x18], 0
mov dword [ebp - 4], edx
je 0x42d5ad
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x42d5ad
add edx, 2
mov dword [ebp - 4], edx
movzx edi, word [edx]
test di, di
jne 0x42d530
movzx eax, word [edx]
jmp 0x42d4f0
mov ebx, dword [ebp - 8]
mov edi, dword [ebp + 0xc]
add eax, 0xffffffd8
cmp eax, 0x54
ja case.0x42d5da.42
movzx eax, byte [eax + 0x42dd88]
jmp dword [eax*4 + 0x42dd70]
push esi
push 0
push edi
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 4]
push eax
call fcn.00426510
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x42dccf
mov edx, dword [ebp - 4]
cmp ecx, 0x1a
jne case.0x42d5da.42
mov ebx, 1
mov dword [ebp - 8], ebx
jmp case.0x42d5da.42
push 6
lea eax, [edx + 2]
push 0x454e58
push eax
call fcn.0043a6f0
add esp, 0xc
test eax, eax
je 0x42d7b8
mov eax, dword [ebp - 4]
push 6
add eax, 2
push str._:_:__
push eax
call fcn.0043a6f0
add esp, 0xc
test eax, eax
je 0x42d7b8
mov edx, dword [ebp - 4]
xor ebx, ebx
add edx, 2
mov dword [ebp - 4], edx
movzx edi, word [edx]
cmp edi, 0x5c
jne 0x42d697
add edx, 2
cmp word [edx], 0x45
je 0x42d664
push 3
push 0x454e68
push edx
call fcn.0043a6f0
mov edx, dword [ebp - 4]
add esp, 0xc
test eax, eax
jne 0x42d6c1
add edx, 6
jmp 0x42d664
test ebx, ebx
jne 0x42d6a5
cmp edi, 0x5e
jne 0x42d6a5
lea ebx, [edi - 0x5d]
jmp 0x42d664
cmp edi, 0x5d
jne 0x42d6b4
test byte [esi + 0x40], 1
jne 0x42da80
test edi, edi
jne 0x42d6c1
cmp edx, dword [esi + 0x20]
jae 0x42dc86
cmp dword [ebp - 0x18], 0
je 0x42d706
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d706
movzx edi, word [edx]
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42d706
movzx eax, word [edx + 2]
add edx, 2
and edi, 0x3ff
mov dword [ebp - 4], edx
and eax, 0x3ff
shl edi, 0xa
or edi, eax
add edi, 0x10000
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x42d724
cmp edi, 0x5c
jne 0x42d799
cmp word [edx + 2], 0x45
jne 0x42d799
xor ebx, ebx
add edx, 2
jmp 0x42d796
cmp edi, 0x5b
jne 0x42d755
movzx eax, word [edx + 2]
cmp eax, 0x3a
je 0x42d73c
cmp eax, 0x2e
je 0x42d73c
cmp eax, 0x3d
jne 0x42d799
lea eax, [ebp - 4]
push eax
push edx
call fcn.00426ca0
mov edx, dword [ebp - 4]
add esp, 8
test eax, eax
je 0x42d799
add edx, 2
jmp 0x42d799
cmp edi, 0x5c
jne 0x42d799
push esi
push 1
push dword [ebp + 0xc]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 4]
push eax
call fcn.00426510
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x42dccf
mov edx, dword [ebp - 4]
cmp ecx, 0x1a
mov eax, 1
cmove ebx, eax
mov dword [ebp - 8], ebx
add edx, 2
mov dword [ebp - 4], edx
movzx edi, word [edx]
cmp edi, 0x5d
jne 0x42d6b4
test ebx, ebx
jne 0x42d6b4
jmp case.0x42d5da.42
mov edx, dword [ebp - 4]
add edx, 0xe
jmp case.0x42d5da.42
movzx eax, word [edx + 2]
lea edi, [edx + 2]
inc dword [ebp - 0xc]
cmp eax, 0x3f
je 0x42d819
cmp eax, 0x2a
je 0x42d7e8
test dword [ebp + 0xc], 0x2000
jne 0x42d7e8
inc dword [esi + 0x48]
jmp case.0x42d5da.42
mov eax, dword [esi + 0x20]
add edx, 4
mov dword [ebp - 4], edx
cmp edx, eax
jae case.0x42d5da.42
nop dword [eax]
cmp word [edx], 0x29
je case.0x42d5da.42
add edx, 2
mov dword [ebp - 4], edx
cmp edx, eax
jb 0x42d800
jmp case.0x42d5da.42
movzx eax, word [edx + 4]
add eax, 0xffffffdf
cmp eax, 0x2f
ja case.0x42d830.34
movzx eax, byte [eax + 0x42ddfc]
jmp dword [eax*4 + 0x42dde0]
mov eax, dword [esi + 0x20]
add edx, 6
mov dword [ebp - 4], edx
cmp edx, eax
jae 0x42d858
cmp word [edx], 0x29
je case.0x42d5da.42
add edx, 2
mov dword [ebp - 4], edx
cmp edx, eax
jb 0x42d844
cmp word [edx], 0x29
je case.0x42d5da.42
mov ecx, dword [ebp + 8]
mov eax, 0x76
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
inc dword [ebp - 0xc]
add edx, 4
jmp case.0x42d5da.42
add edx, 6
cmp word [edx], 0x3c
jne case.0x42d5da.42
mov edx, edi
mov ebx, 0x3e
jmp 0x42d8b6
movzx eax, word [edx + 6]
cmp eax, 0x3d
je 0x42d8a9
cmp eax, 0x21
je 0x42d8a9
mov ebx, 0x3e
jmp 0x42d8b6
add edx, 6
jmp case.0x42d5da.42
mov ebx, 0x27
add edx, 6
mov dword [ebp - 4], edx
mov eax, edx
mov dword [ebp - 0x1c], eax
movzx ecx, word [edx]
mov edi, ecx
cmp edi, ebx
je 0x42dd28
cmp ecx, 0x30
jb 0x42d8dc
cmp ecx, 0x39
jbe 0x42dc97
cmp cx, word [ebp - 0x24]
ja 0x42d913
mov eax, dword [esi + 0x10]
test byte [edi + eax], 0x10
je 0x42dca8
mov edi, eax
mov esi, 0xff
movzx eax, cx
test byte [eax + edi], 0x10
je 0x42d90d
add edx, 2
mov dword [ebp - 4], edx
movzx ecx, word [edx]
cmp cx, si
jbe 0x42d8f6
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
mov edi, edx
sub edi, eax
movzx eax, word [edx]
sar edi, 1
mov dword [ebp - 0x14], edi
cmp eax, ebx
jne 0x42dd17
movzx eax, word [esi + 0x30]
mov ecx, 0x2710
cmp ax, cx
jae 0x42dd06
movzx eax, word [esi + 0x32]
lea ecx, [edi + 2]
cmp ecx, eax
mov ecx, edi
jle 0x42d956
lea eax, [ecx + 2]
mov word [esi + 0x32], ax
cmp ecx, 0x20
jg 0x42dcb9
movzx eax, word [esi + 0x30]
xor ebx, ebx
inc dword [esi + 0x48]
mov edi, dword [esi + 0x38]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], ebx
cmp bx, ax
jae 0x42d9cf
movzx eax, word [edi + 8]
cmp ecx, eax
jne 0x42d9b1
push ecx
push dword [edi]
push dword [ebp - 0x1c]
call fcn.0043a6b0
add esp, 0xc
test eax, eax
jne 0x42d9b1
mov eax, dword [edi + 4]
cmp eax, dword [esi + 0x48]
je 0x42d9cc
test byte [ebp + 0xc], 0x40
je 0x42dcca
mov eax, 1
mov word [edi + 0xa], ax
mov dword [ebp - 0x20], eax
mov dword [esi + 0x84], eax
jmp 0x42d9bd
mov eax, dword [edi + 4]
cmp eax, dword [esi + 0x48]
je 0x42dcde
movzx eax, word [esi + 0x30]
inc ebx
mov ecx, dword [ebp - 0x14]
add edi, 0xc
cmp ebx, eax
jl 0x42d971
mov edx, dword [ebp - 4]
movzx eax, word [esi + 0x30]
cmp ebx, eax
jl 0x42da80
mov ecx, dword [esi + 0x3c]
cmp eax, ecx
jb 0x42da34
lea ebx, [ecx + ecx]
mov ecx, dword [esi]
lea eax, [ebx + ebx*2]
shl eax, 2
push dword [ecx + 8]
push eax
mov eax, dword [ecx]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x42dcf2
mov ecx, dword [esi + 0x3c]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push edi
call fcn.0043e9e0
add esp, 0xc
cmp dword [esi + 0x3c], 0x14
jbe 0x42da2e
mov eax, dword [esi]
push dword [eax + 8]
mov eax, dword [eax + 4]
push dword [esi + 0x38]
call eax
add esp, 8
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], ebx
movzx eax, word [esi + 0x30]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x38]
mov dword [eax + ecx*4], edx
movzx eax, word [esi + 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x38]
mov word [eax + ecx*4 + 8], di
movzx eax, word [esi + 0x30]
mov ecx, dword [esi + 0x38]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x48]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [esi + 0x30]
mov edx, dword [ebp - 0x20]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x38]
mov word [eax + ecx*4 + 0xa], dx
inc word [esi + 0x30]
mov edx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
add edx, 2
mov dword [ebp - 4], edx
cmp edx, dword [esi + 0x20]
jae 0x42dd5e
mov edi, dword [ebp + 0xc]
jmp 0x42d4b0
add edx, 4
mov dword [ebp - 4], edx
movzx eax, word [edx]
cmp eax, 0x52
je case.0x42d5da.42
cmp eax, 0x43
je case.0x42d5da.42
cmp eax, 0x30
jb 0x42dab7
cmp eax, 0x39
jbe case.0x42d5da.42
cmp eax, 0x2d
jne 0x42daca
movzx eax, word [edx + 2]
cmp eax, 0x30
jb 0x42daca
cmp eax, 0x39
jbe case.0x42d5da.42
mov edi, dword [ebp - 0x10]
test edi, edi
jne 0x42dad9
mov edi, dword [esi + 0x14]
mov dword [ebp - 0x10], edi
jmp 0x42dae8
add edi, 8
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp - 0x2c]
jae 0x42dd4d
mov eax, dword [ebp - 0xc]
mov word [edi], ax
xor eax, eax
mov word [edi + 6], ax
cmp dword [ebp - 0x28], eax
je 0x42db02
mov eax, 2
mov word [edi + 6], ax
test byte [ebp + 0xc], 0x40
je 0x42db0d
or word [edi + 6], 4
mov eax, dword [ebp - 4]
cmp word [eax], 0x7c
jne 0x42db33
movzx eax, word [esi + 0x48]
mov word [edi + 2], ax
movzx eax, word [esi + 0x48]
or word [edi + 6], 1
mov word [edi + 4], ax
mov edx, dword [ebp - 4]
jmp case.0x42d5da.42
xor eax, eax
lea ecx, [ebp - 0x20]
mov dword [edi + 2], eax
xor ebx, ebx
mov edx, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], edi
movzx eax, word [edx]
cmp eax, 0x29
je 0x42db9e
cmp ax, 0x3a
je 0x42db98
movzx eax, ax
add edx, 2
sub eax, 0x2d
mov dword [ebp - 4], edx
cmp eax, 0x4b
ja case.0x42db72.46
movzx eax, byte [eax + 0x42de40]
jmp dword [eax*4 + 0x42de2c]
lea ecx, [ebp - 0x1c]
jmp case.0x42db72.85
or dword [ecx], 0x80
jmp case.0x42db72.85
or dword [ecx], 0x40
or dword [esi + 0x44], 0x400
movzx eax, word [edx]
cmp eax, 0x29
jne 0x42db50
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
or edi, dword [ebp + 0xc]
not ebx
and edi, ebx
cmp word [edx], 0x29
mov dword [ebp + 0xc], edi
jne 0x42da80
mov ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
dec ebx
mov dword [ebp - 0xc], ebx
cmp edi, dword [esi + 0x14]
jbe 0x42dbd4
movzx eax, word [edi - 8]
lea ecx, [edi - 8]
cmp eax, ebx
jne 0x42dbd4
mov dword [ebp - 0x10], ecx
jmp 0x42da80
mov word [edi], bx
jmp 0x42da7d
mov edi, dword [ebp - 0x10]
test edi, edi
je case.0x42d5da.42
movzx eax, word [edi]
cmp eax, dword [ebp - 0xc]
jne case.0x42d5da.42
test byte [edi + 6], 1
je case.0x42d5da.42
movzx eax, word [edi + 4]
cmp dword [esi + 0x48], eax
jbe 0x42dc11
mov ax, word [esi + 0x48]
mov word [edi + 4], ax
mov edx, dword [ebp - 4]
movzx eax, word [edi + 2]
mov dword [esi + 0x48], eax
jmp case.0x42d5da.42
mov edi, dword [ebp - 0x10]
test edi, edi
je 0x42dc7e
movzx eax, word [edi]
cmp eax, dword [ebp - 0xc]
jne 0x42dc7e
test byte [edi + 6], 1
je 0x42dc3e
movzx eax, word [edi + 4]
cmp eax, dword [esi + 0x48]
jbe 0x42dc3e
mov dword [esi + 0x48], eax
movzx eax, word [edi + 6]
mov ecx, dword [ebp + 0xc]
test al, 2
je 0x42dc51
or ecx, 0x80
jmp 0x42dc57
and ecx, 0xffffff7f
test al, 4
je 0x42dc60
or ecx, 0x40
jmp 0x42dc63
and ecx, 0xffffffbf
mov dword [ebp + 0xc], ecx
cmp edi, dword [esi + 0x14]
jne 0x42dc78
xor ecx, ecx
dec dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
jmp case.0x42d5da.42
sub edi, 8
mov dword [ebp - 0x10], edi
dec dword [ebp - 0xc]
jmp case.0x42d5da.42
mov ecx, dword [ebp + 8]
mov eax, 0x6a
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, 0x90
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, 0x7c
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, 0x94
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
mov eax, 0x8f
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
pop edi
pop esi
mov dword [ecx], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, 0xa5
mov edx, dword [ebp - 4]
pop edi
pop esi
mov dword [ecx], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, 0x79
mov edx, dword [ebp - 4]
pop edi
pop esi
mov dword [ecx], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, 0x95
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, 0x8e
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, 0xa2
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
sub edx, 2
pop edi
pop esi
mov eax, 0x6f
mov dword [ecx], edx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xb8
mov ecx, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x48]
pop edi
mov dword [esi + 0x4c], eax
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret