Function at 0x499350
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.0x499365.35
jmp dword [edi*4 + 0x96d5d4]
mov eax, dword [ecx + 4]
lea edi, [esi + 1]
mov dword [ecx], edi
cmp edi, eax
je case.0x49938b.34
nop dword [eax + eax]
movzx ebx, byte [edi]
add ebx, 0xffffffdf
cmp ebx, 0x5d
ja case.0x49938b.34
jmp dword [ebx*4 + 0x96d738]
inc edi
mov dword [ecx], edi
cmp edi, eax
jne 0x499380
xor eax, eax
test edx, edx
je case.0x499365.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.00499cc0
pop esi
pop edi
pop ebx
jmp 0x499be0
pop esi
pop edi
pop ebx
jmp 0x49a3c0
pop esi
pop edi
pop ebx
jmp fcn.0049a350
pop esi
pop edi
pop ebx
jmp 0x49a520
push ebp
push ebx
push edi
push esi
sub esp, 8
mov edi, dword [ecx]
cmp byte [edi], 0x22
jne 0x499c9c
lea esi, [edi + 1]
mov ebp, dword [ecx + 4]
mov dword [ecx], esi
mov eax, 0xffffffff
cmp esi, ebp
je 0x499c64
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.0x499c2c
jmp dword [edx*4 + 0x96d9bc]
lea esi, [edi + ebx]
inc esi
inc ebx
mov dword [ecx], esi
cmp esi, ebp
jne 0x499c20
jmp case.default.0x499c2c
lea esi, [edi + ebx]
inc esi
mov dword [ecx], esi
cmp esi, ebp
je case.default.0x499c2c
inc ebx
movzx edx, byte [esi]
mov dword [esp], 1
cmp edx, 0x22
je case.0x499c2c.32
cmp edx, 0x5c
je case.0x499c2c.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 0x499c95
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 0x499c64
push 0x17c
push str.sfparse.c
push 0x96e207
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 0x49a507
lea edi, [esi + 1]
mov ebx, dword [ecx + 4]
mov dword [ecx], edi
mov eax, 0xffffffff
cmp edi, ebx
je 0x49a429
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.0x49a40d.44
jmp dword [eax*4 + 0x96db38]
lea eax, [esi + ebp]
mov dword [ecx], eax
lea eax, [esi + edi]
inc eax
inc edi
dec edx
inc ebp
cmp eax, ebx
jne 0x49a400
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.0x49a40d.44
cmp edx, 3
jne 0x49a493
movzx edx, byte [esi + ebp - 2]
add edx, 0xffffffd0
cmp edx, 0x47
ja case.0x49a40d.44
mov ebp, edi
jmp dword [edx*4 + 0x96dc78]
neg edx
test dl, 3
mov eax, 0xffffffff
jne 0x49a429
mov edx, dword [esp + 4]
test edx, edx
je 0x49a4fb
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 0x49a4fd
movzx edx, byte [esi + ebp - 2]
cmp edx, 0x66
jg 0x49a4ac
cmp edx, 0x41
je 0x49a4ba
cmp edx, 0x51
je 0x49a4ba
jmp case.0x49a40d.44
cmp edx, 0x77
je 0x49a4ba
cmp edx, 0x67
jne case.0x49a40d.44
lea eax, [esi + ebp]
mov dword [ecx], eax
cmp eax, ebx
je case.0x49a40d.44
cmp byte [eax], 0x3d
jne case.0x49a40d.44
lea eax, [esi + ebp]
inc eax
mov dword [ecx], eax
cmp eax, ebx
je case.0x49a40d.44
cmp byte [eax], 0x3a
mov eax, 0xffffffff
jne 0x49a429
inc ebp
mov edi, ebp
mov edx, dword [esp + 4]
test edx, edx
jne 0x49a46e
add esi, edi
inc esi
mov dword [ecx], esi
xor eax, eax
jmp 0x49a429
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 0x49a56f
lea edi, [esi + 1]
mov dword [ecx], edi
mov eax, 0xffffffff
cmp edi, dword [ecx + 4]
je 0x49a56b
movzx ebx, byte [edi]
mov edi, 0
cmp ebx, 0x30
je 0x49a550
cmp ebx, 0x31
jne 0x49a56b
mov edi, 1
add esi, 2
mov dword [ecx], esi
test edx, edx
je 0x49a569
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