Function at 0x498da0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push edi
push esi
mov esi, dword [ecx]
movzx edi, byte [esi]
mov eax, 0xffffffff
add edi, 0xffffffde
cmp edi, 0x58
ja case.0x498db5.35
jmp dword [edi*4 + 0xa35fd4]
mov eax, dword [ecx + 4]
lea edi, [esi + 1]
mov dword [ecx], edi
cmp edi, eax
je case.0x498ddb.34
nop dword [eax + eax]
movzx ebx, byte [edi]
add ebx, 0xffffffdf
cmp ebx, 0x5d
ja case.0x498ddb.34
jmp dword [ebx*4 + 0xa36138]
inc edi
mov dword [ecx], edi
cmp edi, eax
jne 0x498dd0
xor eax, eax
test edx, edx
je case.0x498db5.35
mov dword [edx], 4
mov dword [edx + 4], 0
mov dword [edx + 8], esi
mov ecx, dword [ecx]
sub ecx, esi
mov dword [edx + 0xc], ecx
pop esi
pop edi
pop ebx
ret
pop esi
pop edi
pop ebx
jmp fcn.00499710
pop esi
pop edi
pop ebx
jmp 0x499630
pop esi
pop edi
pop ebx
jmp 0x499e10
pop esi
pop edi
pop ebx
jmp fcn.00499da0
pop esi
pop edi
pop ebx
jmp 0x499f70
push ebp
push ebx
push edi
push esi
sub esp, 8
mov edi, dword [ecx]
cmp byte [edi], 0x22
jne 0x4996ec
lea esi, [edi + 1]
mov ebp, dword [ecx + 4]
mov dword [ecx], esi
mov eax, 0xffffffff
cmp esi, ebp
je 0x4996b4
mov dword [esp + 4], edx
mov ebx, 1
mov dword [esp], 0
mov eax, esi
nop word cs:[eax + eax]
movzx edx, byte [edi + ebx]
add edx, 0xffffffe0
cmp edx, 0x5e
ja case.default.0x49967c
jmp dword [edx*4 + 0xa363bc]
lea esi, [edi + ebx]
inc esi
inc ebx
mov dword [ecx], esi
cmp esi, ebp
jne 0x499670
jmp case.default.0x49967c
lea esi, [edi + ebx]
inc esi
mov dword [ecx], esi
cmp esi, ebp
je case.default.0x49967c
inc ebx
movzx edx, byte [esi]
mov dword [esp], 1
cmp edx, 0x22
je case.0x49967c.32
cmp edx, 0x5c
je case.0x49967c.32
mov eax, 0xffffffff
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 4]
test edx, edx
je 0x4996e5
mov dword [edx], 3
mov esi, dword [esp]
mov dword [edx + 4], esi
mov esi, edx
lea edx, [ebx - 1]
mov dword [esi + 0xc], edx
xor edx, edx
cmp ebx, 1
cmove eax, edx
mov dword [esi + 8], eax
mov esi, dword [ecx]
inc esi
mov dword [ecx], esi
xor eax, eax
jmp 0x4996b4
push 0x17c
push str.sfparse.c
push 0xa36c07
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
nop word cs:[eax + eax]
push ebp
push ebx
push edi
push esi
sub esp, 8
mov esi, dword [ecx]
cmp byte [esi], 0x3a
jne 0x499f57
lea edi, [esi + 1]
mov ebx, dword [ecx + 4]
mov dword [ecx], edi
mov eax, 0xffffffff
cmp edi, ebx
je 0x499e79
mov dword [esp], edi
mov dword [esp + 4], edx
mov edi, 1
mov edx, 0xfffffffc
mov ebp, 2
nop dword [eax]
movzx eax, byte [esi + ebp - 1]
add eax, 0xffffffd5
cmp eax, 0x4f
ja case.0x499e5d.44
jmp dword [eax*4 + 0xa36538]
lea eax, [esi + ebp]
mov dword [ecx], eax
lea eax, [esi + edi]
inc eax
inc edi
dec edx
inc ebp
cmp eax, ebx
jne 0x499e50
mov eax, 0xffffffff
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
neg edx
and edx, 3
cmp edx, 2
jb case.0x499e5d.44
cmp edx, 3
jne 0x499ee3
movzx edx, byte [esi + ebp - 2]
add edx, 0xffffffd0
cmp edx, 0x47
ja case.0x499e5d.44
mov ebp, edi
jmp dword [edx*4 + 0xa36678]
neg edx
test dl, 3
mov eax, 0xffffffff
jne 0x499e79
mov edx, dword [esp + 4]
test edx, edx
je 0x499f4b
mov dword [edx], 5
mov dword [edx + 4], 0
lea eax, [edi - 1]
mov dword [edx + 0xc], eax
xor eax, eax
cmp edi, 1
mov esi, dword [esp]
cmove esi, eax
mov dword [edx + 8], esi
mov esi, dword [ecx]
jmp 0x499f4d
movzx edx, byte [esi + ebp - 2]
cmp edx, 0x66
jg 0x499efc
cmp edx, 0x41
je 0x499f0a
cmp edx, 0x51
je 0x499f0a
jmp case.0x499e5d.44
cmp edx, 0x77
je 0x499f0a
cmp edx, 0x67
jne case.0x499e5d.44
lea eax, [esi + ebp]
mov dword [ecx], eax
cmp eax, ebx
je case.0x499e5d.44
cmp byte [eax], 0x3d
jne case.0x499e5d.44
lea eax, [esi + ebp]
inc eax
mov dword [ecx], eax
cmp eax, ebx
je case.0x499e5d.44
cmp byte [eax], 0x3a
mov eax, 0xffffffff
jne 0x499e79
inc ebp
mov edi, ebp
mov edx, dword [esp + 4]
test edx, edx
jne 0x499ebe
add esi, edi
inc esi
mov dword [ecx], esi
xor eax, eax
jmp 0x499e79
push 0x1d9
push str.sfparse.c
push str.:__sfp__pos
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
nop dword [eax]
push ebx
push edi
push esi
mov esi, dword [ecx]
cmp byte [esi], 0x3f
jne 0x499fbf
lea edi, [esi + 1]
mov dword [ecx], edi
mov eax, 0xffffffff
cmp edi, dword [ecx + 4]
je 0x499fbb
movzx ebx, byte [edi]
mov edi, 0
cmp ebx, 0x30
je 0x499fa0
cmp ebx, 0x31
jne 0x499fbb
mov edi, 1
add esi, 2
mov dword [ecx], esi
test edx, edx
je 0x499fb9
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], edi
xor eax, eax
pop esi
pop edi
pop ebx
ret
push 0x23a
push str.sfparse.c
push str.___sfp__pos
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
nop
nop
nop
nop
nop
nop