Function at 0x42dcb0
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 0x42e5ae
mov dword [ebp - 0x24], 0xff
nop
movzx eax, word [edx]
test ebx, ebx
je 0x42dd28
cmp eax, 0x5c
jne case.0x42de2a.42
cmp word [edx + 2], 0x45
jne case.0x42de2a.42
xor ebx, ebx
add edx, 2
mov dword [ebp - 8], ebx
jmp case.0x42de2a.42
mov ecx, edi
and ecx, 0x80
mov dword [ebp - 0x28], ecx
je 0x42de17
nop dword [eax]
cmp eax, 0xff
ja 0x42dd66
mov ecx, dword [esi + 0x10]
nop word [eax + eax]
test byte [ecx + eax], 1
je 0x42dd66
add edx, 2
mov dword [ebp - 4], edx
movzx eax, word [edx]
cmp eax, 0xff
jbe 0x42dd50
cmp eax, 0x23
jne 0x42de11
add edx, 2
mov dword [ebp - 4], edx
movzx edi, word [edx]
test di, di
je 0x42ddb0
nop dword [eax]
mov ebx, dword [esi + 0x58]
mov ecx, dword [esi + 0x20]
test ebx, ebx
je 0x42ddb5
cmp edx, ecx
jae 0x42ddd6
push dword [ebp - 0x18]
lea eax, [esi + 0x5c]
push eax
push ecx
push ebx
push edx
call fcn.0043ac80
mov edx, dword [ebp - 4]
add esp, 0x14
test eax, eax
je 0x42ddd6
mov eax, dword [esi + 0x5c]
lea edx, [edx + eax*2]
mov dword [ebp - 4], edx
movzx eax, word [edx]
jmp 0x42dd40
mov ebx, dword [esi + 0x5c]
lea eax, [ebx + ebx]
sub ecx, eax
cmp edx, ecx
ja 0x42ddd6
cmp di, word [esi + 0x60]
jne 0x42ddd6
cmp ebx, 1
je 0x42dda7
mov ax, word [edx + 2]
cmp ax, word [esi + 0x62]
je 0x42dda7
add edx, 2
cmp dword [ebp - 0x18], 0
mov dword [ebp - 4], edx
je 0x42ddfd
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x42ddfd
add edx, 2
mov dword [ebp - 4], edx
movzx edi, word [edx]
test di, di
jne 0x42dd80
movzx eax, word [edx]
jmp 0x42dd40
mov ebx, dword [ebp - 8]
mov edi, dword [ebp + 0xc]
add eax, 0xffffffd8
cmp eax, 0x54
ja case.0x42de2a.42
movzx eax, byte [eax + 0x42e5d8]
jmp dword [eax*4 + 0x42e5c0]
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.00426d60
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x42e51f
mov edx, dword [ebp - 4]
cmp ecx, 0x1a
jne case.0x42de2a.42
mov ebx, 1
mov dword [ebp - 8], ebx
jmp case.0x42de2a.42
push 6
lea eax, [edx + 2]
push 0x454e68
push eax
call fcn.0043af40
add esp, 0xc
test eax, eax
je 0x42e008
mov eax, dword [ebp - 4]
push 6
add eax, 2
push str._:_:__
push eax
call fcn.0043af40
add esp, 0xc
test eax, eax
je 0x42e008
mov edx, dword [ebp - 4]
xor ebx, ebx
add edx, 2
mov dword [ebp - 4], edx
movzx edi, word [edx]
cmp edi, 0x5c
jne 0x42dee7
add edx, 2
cmp word [edx], 0x45
je 0x42deb4
push 3
push 0x454e78
push edx
call fcn.0043af40
mov edx, dword [ebp - 4]
add esp, 0xc
test eax, eax
jne 0x42df11
add edx, 6
jmp 0x42deb4
test ebx, ebx
jne 0x42def5
cmp edi, 0x5e
jne 0x42def5
lea ebx, [edi - 0x5d]
jmp 0x42deb4
cmp edi, 0x5d
jne 0x42df04
test byte [esi + 0x40], 1
jne 0x42e2d0
test edi, edi
jne 0x42df11
cmp edx, dword [esi + 0x20]
jae 0x42e4d6
cmp dword [ebp - 0x18], 0
je 0x42df56
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42df56
movzx edi, word [edx]
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42df56
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 0x42df74
cmp edi, 0x5c
jne 0x42dfe9
cmp word [edx + 2], 0x45
jne 0x42dfe9
xor ebx, ebx
add edx, 2
jmp 0x42dfe6
cmp edi, 0x5b
jne 0x42dfa5
movzx eax, word [edx + 2]
cmp eax, 0x3a
je 0x42df8c
cmp eax, 0x2e
je 0x42df8c
cmp eax, 0x3d
jne 0x42dfe9
lea eax, [ebp - 4]
push eax
push edx
call fcn.004274f0
mov edx, dword [ebp - 4]
add esp, 8
test eax, eax
je 0x42dfe9
add edx, 2
jmp 0x42dfe9
cmp edi, 0x5c
jne 0x42dfe9
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.00426d60
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x42e51f
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 0x42df04
test ebx, ebx
jne 0x42df04
jmp case.0x42de2a.42
mov edx, dword [ebp - 4]
add edx, 0xe
jmp case.0x42de2a.42
movzx eax, word [edx + 2]
lea edi, [edx + 2]
inc dword [ebp - 0xc]
cmp eax, 0x3f
je 0x42e069
cmp eax, 0x2a
je 0x42e038
test dword [ebp + 0xc], 0x2000
jne 0x42e038
inc dword [esi + 0x48]
jmp case.0x42de2a.42
mov eax, dword [esi + 0x20]
add edx, 4
mov dword [ebp - 4], edx
cmp edx, eax
jae case.0x42de2a.42
nop dword [eax]
cmp word [edx], 0x29
je case.0x42de2a.42
add edx, 2
mov dword [ebp - 4], edx
cmp edx, eax
jb 0x42e050
jmp case.0x42de2a.42
movzx eax, word [edx + 4]
add eax, 0xffffffdf
cmp eax, 0x2f
ja case.0x42e080.34
movzx eax, byte [eax + 0x42e64c]
jmp dword [eax*4 + 0x42e630]
mov eax, dword [esi + 0x20]
add edx, 6
mov dword [ebp - 4], edx
cmp edx, eax
jae 0x42e0a8
cmp word [edx], 0x29
je case.0x42de2a.42
add edx, 2
mov dword [ebp - 4], edx
cmp edx, eax
jb 0x42e094
cmp word [edx], 0x29
je case.0x42de2a.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.0x42de2a.42
add edx, 6
cmp word [edx], 0x3c
jne case.0x42de2a.42
mov edx, edi
mov ebx, 0x3e
jmp 0x42e106
movzx eax, word [edx + 6]
cmp eax, 0x3d
je 0x42e0f9
cmp eax, 0x21
je 0x42e0f9
mov ebx, 0x3e
jmp 0x42e106
add edx, 6
jmp case.0x42de2a.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 0x42e578
cmp ecx, 0x30
jb 0x42e12c
cmp ecx, 0x39
jbe 0x42e4e7
cmp cx, word [ebp - 0x24]
ja 0x42e163
mov eax, dword [esi + 0x10]
test byte [edi + eax], 0x10
je 0x42e4f8
mov edi, eax
mov esi, 0xff
movzx eax, cx
test byte [eax + edi], 0x10
je 0x42e15d
add edx, 2
mov dword [ebp - 4], edx
movzx ecx, word [edx]
cmp cx, si
jbe 0x42e146
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 0x42e567
movzx eax, word [esi + 0x30]
mov ecx, 0x2710
cmp ax, cx
jae 0x42e556
movzx eax, word [esi + 0x32]
lea ecx, [edi + 2]
cmp ecx, eax
mov ecx, edi
jle 0x42e1a6
lea eax, [ecx + 2]
mov word [esi + 0x32], ax
cmp ecx, 0x20
jg 0x42e509
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 0x42e21f
movzx eax, word [edi + 8]
cmp ecx, eax
jne 0x42e201
push ecx
push dword [edi]
push dword [ebp - 0x1c]
call fcn.0043af00
add esp, 0xc
test eax, eax
jne 0x42e201
mov eax, dword [edi + 4]
cmp eax, dword [esi + 0x48]
je 0x42e21c
test byte [ebp + 0xc], 0x40
je 0x42e51a
mov eax, 1
mov word [edi + 0xa], ax
mov dword [ebp - 0x20], eax
mov dword [esi + 0x84], eax
jmp 0x42e20d
mov eax, dword [edi + 4]
cmp eax, dword [esi + 0x48]
je 0x42e52e
movzx eax, word [esi + 0x30]
inc ebx
mov ecx, dword [ebp - 0x14]
add edi, 0xc
cmp ebx, eax
jl 0x42e1c1
mov edx, dword [ebp - 4]
movzx eax, word [esi + 0x30]
cmp ebx, eax
jl 0x42e2d0
mov ecx, dword [esi + 0x3c]
cmp eax, ecx
jb 0x42e284
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 0x42e542
mov ecx, dword [esi + 0x3c]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push edi
call fcn.0043f220
add esp, 0xc
cmp dword [esi + 0x3c], 0x14
jbe 0x42e27e
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 0x42e5ae
mov edi, dword [ebp + 0xc]
jmp 0x42dd00
add edx, 4
mov dword [ebp - 4], edx
movzx eax, word [edx]
cmp eax, 0x52
je case.0x42de2a.42
cmp eax, 0x43
je case.0x42de2a.42
cmp eax, 0x30
jb 0x42e307
cmp eax, 0x39
jbe case.0x42de2a.42
cmp eax, 0x2d
jne 0x42e31a
movzx eax, word [edx + 2]
cmp eax, 0x30
jb 0x42e31a
cmp eax, 0x39
jbe case.0x42de2a.42
mov edi, dword [ebp - 0x10]
test edi, edi
jne 0x42e329
mov edi, dword [esi + 0x14]
mov dword [ebp - 0x10], edi
jmp 0x42e338
add edi, 8
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp - 0x2c]
jae 0x42e59d
mov eax, dword [ebp - 0xc]
mov word [edi], ax
xor eax, eax
mov word [edi + 6], ax
cmp dword [ebp - 0x28], eax
je 0x42e352
mov eax, 2
mov word [edi + 6], ax
test byte [ebp + 0xc], 0x40
je 0x42e35d
or word [edi + 6], 4
mov eax, dword [ebp - 4]
cmp word [eax], 0x7c
jne 0x42e383
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.0x42de2a.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 0x42e3ee
cmp ax, 0x3a
je 0x42e3e8
movzx eax, ax
add edx, 2
sub eax, 0x2d
mov dword [ebp - 4], edx
cmp eax, 0x4b
ja case.0x42e3c2.46
movzx eax, byte [eax + 0x42e690]
jmp dword [eax*4 + 0x42e67c]
lea ecx, [ebp - 0x1c]
jmp case.0x42e3c2.85
or dword [ecx], 0x80
jmp case.0x42e3c2.85
or dword [ecx], 0x40
or dword [esi + 0x44], 0x400
movzx eax, word [edx]
cmp eax, 0x29
jne 0x42e3a0
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 0x42e2d0
mov ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
dec ebx
mov dword [ebp - 0xc], ebx
cmp edi, dword [esi + 0x14]
jbe 0x42e424
movzx eax, word [edi - 8]
lea ecx, [edi - 8]
cmp eax, ebx
jne 0x42e424
mov dword [ebp - 0x10], ecx
jmp 0x42e2d0
mov word [edi], bx
jmp 0x42e2cd
mov edi, dword [ebp - 0x10]
test edi, edi
je case.0x42de2a.42
movzx eax, word [edi]
cmp eax, dword [ebp - 0xc]
jne case.0x42de2a.42
test byte [edi + 6], 1
je case.0x42de2a.42
movzx eax, word [edi + 4]
cmp dword [esi + 0x48], eax
jbe 0x42e461
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.0x42de2a.42
mov edi, dword [ebp - 0x10]
test edi, edi
je 0x42e4ce
movzx eax, word [edi]
cmp eax, dword [ebp - 0xc]
jne 0x42e4ce
test byte [edi + 6], 1
je 0x42e48e
movzx eax, word [edi + 4]
cmp eax, dword [esi + 0x48]
jbe 0x42e48e
mov dword [esi + 0x48], eax
movzx eax, word [edi + 6]
mov ecx, dword [ebp + 0xc]
test al, 2
je 0x42e4a1
or ecx, 0x80
jmp 0x42e4a7
and ecx, 0xffffff7f
test al, 4
je 0x42e4b0
or ecx, 0x40
jmp 0x42e4b3
and ecx, 0xffffffbf
mov dword [ebp + 0xc], ecx
cmp edi, dword [esi + 0x14]
jne 0x42e4c8
xor ecx, ecx
dec dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
jmp case.0x42de2a.42
sub edi, 8
mov dword [ebp - 0x10], edi
dec dword [ebp - 0xc]
jmp case.0x42de2a.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