Function at 0x4ce169
Capabilities:
Parse credit card information

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44
mov ebp, dword [esp + 0x58]
test ebp, ebp
je 0x4ce225
mov edi, dword [esp + 0x60]
test edi, edi
je 0x4ce22d
mov eax, dword [esp + 0x5c]
mov dword [edi], 0
cmp eax, 0xa
ja case.default.0x4ce1be
mov ebx, dword [esp + 0x64]
shr bl, 6
and bl, 1
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
xor esi, esi
mov dword [esp], ebp
xor edx, edx
xor ecx, ecx
jmp dword [eax*4 + 0x733380]
mov eax, dword [ebp]
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x18]
mov dword [esp], ecx
test eax, eax
mov ecx, dword [esp + 0x64]
je 0x4ce380
push eax
push 0x795aa0
mov esi, ecx
call fcn.004bdde8
mov ecx, esi
add esp, 8
test eax, eax
je 0x4ce380
mov eax, dword [ebp + 0x24]
test eax, eax
mov ecx, 0x79abcb
cmove eax, ecx
mov edx, 0x79a13d
cmove edx, ecx
push eax
push edx
push dword [ebp + 0x1c]
push str.file:___s_s_s
call fcn.004bff99
add esp, 0x10
mov esi, eax
jmp 0x4ce807
xor esi, esi
inc esi
jmp 0x4ce80f
mov esi, 2
jmp 0x4ce80f
lea eax, [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 0xd
jmp 0x4ce324
lea eax, [ebp + 0x24]
mov dword [esp], eax
mov dword [esp + 8], 0x11
jmp 0x4ce324
lea eax, [ebp + 4]
mov dword [esp], eax
mov dword [esp + 8], 0xb
jmp 0x4ce324
lea eax, [ebp + 8]
mov dword [esp], eax
mov dword [esp + 8], 0xc
jmp 0x4ce324
mov eax, dword [ebp + 0x1c]
test eax, eax
mov ebp, 0x798698
cmovne ebp, eax
jmp 0x4ce457
lea eax, [ebp + 0x10]
mov dword [esp], eax
mov esi, dword [esp + 0x64]
mov eax, esi
shr eax, 0xc
and eax, 1
mov dword [esp + 4], eax
shr esi, 0xd
and esi, 1
mov dword [esp + 8], 0xe
jmp 0x4ce32e
mov ebp, dword [ebp + 0x18]
mov eax, dword [esp + 0x64]
test al, 1
mov edi, eax
je 0x4ce3fc
test ebp, ebp
jne 0x4ce3fc
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov esi, 0xf
test eax, eax
je 0x4ce80f
push 0xffffffffffffffff
push eax
call fcn.004af399
add esp, 8
test eax, eax
je 0x4ce80f
lea ebp, [esp + 0x2d]
push dword [eax + 0x40]
push 0x791995
push 7
push ebp
call fcn.004bfe80
add esp, 0x10
jmp 0x4ce455
lea eax, [ebp + 0x14]
mov dword [esp], eax
mov dword [esp + 8], 0x12
mov dword [esp + 4], 0
xor esi, esi
xor edx, edx
mov ecx, ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], esi
mov eax, dword [esp]
mov ebp, dword [eax]
mov ebx, ecx
test ebp, ebp
mov esi, dword [esp + 8]
jne 0x4ce46f
jmp 0x4ce80f
lea eax, [ebp + 0x20]
mov dword [esp], eax
mov edx, dword [esp + 0x64]
and dl, 0x40
shr dl, 6
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
xor esi, esi
jmp 0x4ce330
mov esi, 9
jmp 0x4ce80f
cmp dword [ebp + 0x10], 0
je 0x4ce5d7
mov eax, dword [ebp]
test eax, eax
jne 0x4ce3a4
mov eax, str.https
mov esi, 0xa
test cl, 4
je 0x4ce80f
mov edi, ebx
push 0xffffffffffffffff
mov dword [esp + 8], eax
push eax
mov ebx, ecx
call fcn.004af399
mov edx, ebx
add esp, 8
mov esi, eax
test dl, 1
je 0x4ce5e1
cmp dword [esp], 0
jne 0x4ce5e1
test esi, esi
mov ebp, dword [esp + 0x58]
je 0x4ce61d
lea eax, [esp + 0x2d]
push dword [esi + 0x40]
push 0x791995
push 7
mov dword [esp + 0xc], eax
push eax
call fcn.004bfe80
mov edx, ebx
add esp, 0x10
jmp 0x4ce606
mov esi, 0xf
test ebp, ebp
je 0x4ce80f
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
test eax, eax
je 0x4ce455
push 0xffffffffffffffff
push eax
call fcn.004af399
add esp, 8
test eax, eax
je 0x4ce455
xor ebx, ebx
mov ecx, edi
test cl, 2
je 0x4ce457
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
cmp dword [eax + 0x40], ecx
je 0x4ce80f
jmp 0x4ce46f
xor ebx, ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
push ebp
call fcn.007149b0
add esp, 4
mov edi, eax
inc eax
push eax
push ebp
call fcn.004b6d08
add esp, 8
mov ebp, dword [esp + 0x60]
mov dword [ebp], eax
mov esi, 7
test eax, eax
je 0x4ce80f
test edi, edi
sete cl
mov edx, dword [esp + 0x10]
xor dl, 1
or dl, cl
mov edx, dword [esp + 0x64]
jne 0x4ce4be
xor ecx, ecx
cmp byte [eax + ecx], 0x2b
jne 0x4ce4b9
mov byte [eax + ecx], 0x20
inc ecx
cmp edi, ecx
jne 0x4ce4af
test bl, bl
je 0x4ce50d
lea eax, [esp + 0x28]
lea ecx, [esp + 0x34]
push 3
push eax
push ecx
push 0
push dword [ebp]
call fcn.004bea8f
add esp, 0x14
mov edi, eax
push dword [ebp]
call dword [0x7ec0e0]
add esp, 4
test edi, edi
je 0x4ce4fe
mov dword [ebp], 0
mov esi, 6
jmp 0x4ce80f
mov eax, dword [esp + 0x34]
mov dword [ebp], eax
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
test dl, dl
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
js 0x4ce53e
test al, al
je 0x4ce590
mov esi, 0x1e
mov eax, dword [esp + 0x58]
push dword [eax + 0x10]
call fcn.004d6a48
add esp, 4
test al, al
jne 0x4ce80d
jmp 0x4ce80f
lea ebx, [esp + 0x34]
push 0x7a1200
push ebx
call fcn.004b6d64
add esp, 8
xor eax, eax
cmp dword [esp + 0x5c], 8
sete al
mov edx, dword [ebp]
mov ecx, ebx
push eax
push 1
push edi
call fcn.004ce820
add esp, 0xc
test eax, eax
jne 0x4ce80f
push dword [ebp]
call dword [0x7ec0e0]
add esp, 4
push ebx
call fcn.004b6f2e
add esp, 4
mov dword [ebp], eax
jmp 0x4ce80d
test cl, cl
je 0x4ce80d
mov eax, dword [esp + 0x58]
push dword [eax + 0x10]
call fcn.004d6a48
add esp, 4
test al, al
je 0x4ce80d
push 4
mov eax, dword [esp + 0x5c]
push dword [eax + 0x10]
push 0x79928f
call fcn.00714b80
add esp, 0xc
test eax, eax
jne 0x4ce80d
mov esi, 0x1e
jmp 0x4ce80f
mov esi, 0xe
jmp 0x4ce80f
cmp dword [esp], 0
mov ebp, dword [esp + 0x58]
je 0x4ce60a
test esi, esi
je 0x4ce60a
mov eax, dword [esi + 0x40]
xor ecx, ecx
cmp eax, dword [ebp + 0x28]
mov eax, dword [esp]
cmovne ecx, eax
test dl, 2
cmovne eax, ecx
mov dword [esp], eax
mov ebx, edi
jmp 0x4ce610
test esi, esi
mov ebx, edi
je 0x4ce626
mov eax, dword [esi + 0x4c]
shl eax, 0x15
sar eax, 0x1f
and ebx, eax
jmp 0x4ce626
mov dword [esp], 0
mov ebx, edi
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0x5b
jne 0x4ce684
cmp dword [ebp + 0x14], 0
je 0x4ce6c1
mov edi, ebx
push eax
call fcn.007149b0
add esp, 4
mov esi, eax
lea ebx, [esp + 0x34]
push 0x7a1200
push ebx
call fcn.004b6d64
add esp, 8
dec esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
push str._.s__25_s_
push ebx
call fcn.004b6f07
add esp, 0x14
test eax, eax
jne 0x4ce819
push ebx
call fcn.004b6f2e
add esp, 4
mov ebp, eax
mov ebx, edi
jmp 0x4ce6f5
test dl, dl
js 0x4ce6c5
bt edx, 0xc
jb 0x4ce6dd
bt edx, 0xd
jae 0x4ce6c1
push eax
call fcn.004d6a48
add esp, 4
test al, al
je 0x4ce6c1
push 4
push dword [ebp + 0x10]
push 0x79928f
call fcn.00714b80
add esp, 0xc
test eax, eax
mov ebp, 0
jne 0x4ce6f5
jmp 0x4ce5cd
xor ebp, ebp
jmp 0x4ce6f5
xor ecx, ecx
push ecx
push eax
push ecx
call fcn.004be900
add esp, 0xc
mov ebp, eax
test eax, eax
jne 0x4ce6f5
jmp 0x4ce819
mov esi, 0x1e
xor ebp, ebp
push eax
call fcn.004d6a48
add esp, 4
test al, al
je 0x4ce80f
mov edi, dword [esp + 0x58]
mov eax, dword [edi + 0x24]
test eax, eax
mov esi, 0x79abcb
cmove eax, esi
mov edx, 0x79a13d
cmove edx, esi
mov dword [esp + 0xc], edx
mov edx, dword [edi + 0x20]
mov ecx, 0x79abcb
mov dword [esp + 8], 0x79abcb
test edx, edx
je 0x4ce73e
cmp byte [edx], 0
cmove edx, esi
mov ecx, ebx
mov ebx, 0x797fe2
cmove ebx, esi
mov dword [esp + 8], ebx
mov ebx, ecx
mov ecx, edx
mov dword [esp + 0x24], ecx
mov edx, dword [edi + 0x1c]
test edx, edx
mov ecx, 0x798698
cmovne ecx, edx
mov dword [esp + 0x20], ecx
mov edx, dword [esp]
test edx, edx
cmove edx, esi
mov dword [esp], edx
mov ecx, 0x798335
cmove ecx, esi
mov dword [esp + 0x18], ecx
mov ecx, ebp
test ebp, ebp
jne 0x4ce773
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x1c], ecx
mov edx, dword [edi + 4]
mov ecx, dword [edi + 8]
mov esi, 0x797fa7
test edx, edx
mov dword [esp + 0x10], ebp
jne 0x4ce79a
mov edx, 0x79abcb
test ecx, ecx
jne 0x4ce79a
test ebx, ebx
cmove esi, edx
xor ecx, ecx
mov dword [esp + 0x14], edx
test ebx, ebx
mov ebp, 0x79abcb
cmove ebx, ebp
mov edx, 0x7981b7
cmove edx, ebp
test ecx, ecx
cmove ecx, ebp
mov edi, 0x798335
cmove edi, ebp
push eax
push dword [esp + 0x10]
push dword [esp + 0x2c]
push dword [esp + 0x14]
push dword [esp + 0x30]
push dword [esp + 0x14]
push dword [esp + 0x30]
push dword [esp + 0x38]
push esi
push ebx
push edx
push ecx
push edi
push dword [esp + 0x48]
push dword [esp + 0x3c]
push str._s:___s_s_s_s_s_s_s_s_s_s_s_s_s_s
call fcn.004bff99
add esp, 0x40
mov esi, eax
push dword [esp + 0x10]
call dword [0x7ec0e0]
add esp, 4
mov edi, dword [esp + 0x60]
test esi, esi
je 0x4ce819
mov dword [edi], esi
xor esi, esi
mov eax, esi
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, 7
jmp 0x4ce80f