Function at 0x102eb930
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, dword [esp + 8]
mov ecx, dword [esi + 4]
mov al, byte [ecx]
cmp al, 0x2e
jne 0x102eb978
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x102eb958
push 6
push esi
call fcn.102ef660
add esp, 8
inc dword [esi + 4]
mov dword [esi + 0x1c], eax
pop esi
ret
cmp dword [eax + 4], 3
jne 0x102eb973
push 0
push 0
push 0
push 6
push dword [esi + 0xc]
push eax
push esi
call fcn.102ed260
add esp, 0x1c
inc dword [esi + 4]
pop esi
ret
cmp al, 0x5c
je 0x102eb993
push str.Escaped_sequence:_expecting__
push esi
mov dword [esi + 8], 0x5aa
call fcn.102f0620
add esp, 8
pop esi
ret
lea edx, [ecx + 1]
push edi
mov dword [esi + 4], edx
movzx edi, byte [edx]
cmp edi, 0x70
jne 0x102eb9c0
lea eax, [edx + 1]
mov dword [esi + 4], eax
cmp byte [eax], 0x7b
je 0x102eb9b4
push 0x10533388
jmp 0x102eba0c
inc eax
push esi
mov dword [esi + 4], eax
call fcn.102ebd90
jmp 0x102eb9fc
cmp edi, 0x50
jne 0x102eba26
lea eax, [edx + 1]
mov dword [esi + 4], eax
cmp byte [eax], 0x7b
je 0x102eb9e8
push 0x10533388
push esi
mov dword [esi + 8], 0x5aa
call fcn.102f0620
add esp, 8
pop edi
pop esi
ret
inc eax
push esi
mov dword [esi + 4], eax
call fcn.102ebd90
mov eax, dword [esi + 0x1c]
mov dword [eax + 0x1c], 1
mov eax, dword [esi + 4]
add esp, 4
cmp byte [eax], 0x7d
je 0x102eba1f
push str.Expecting_
push esi
mov dword [esi + 8], 0x5aa
call fcn.102f0620
add esp, 8
pop edi
pop esi
ret
inc eax
pop edi
mov dword [esi + 4], eax
pop esi
ret
cmp edi, 0x6e
je 0x102ebb9f
cmp edi, 0x72
je 0x102ebb9f
cmp edi, 0x74
je 0x102ebb9f
cmp edi, 0x5c
je 0x102ebb9f
cmp edi, 0x7c
je 0x102ebb9f
cmp edi, 0x2e
je 0x102ebb9f
cmp edi, 0x3f
je 0x102ebb9f
cmp edi, 0x2a
je 0x102ebb9f
cmp edi, 0x2b
je 0x102ebb9f
cmp edi, 0x28
je 0x102ebb9f
cmp edi, 0x29
je 0x102ebb9f
cmp edi, 0x7b
je 0x102ebb9f
cmp edi, 0x7d
je 0x102ebb9f
cmp edi, 0x2d
je 0x102ebb9f
cmp edi, 0x5b
je 0x102ebb9f
cmp edi, 0x5d
je 0x102ebb9f
cmp edi, 0x5e
je 0x102ebb9f
cmp edi, 0x73
je 0x102ebb09
cmp edi, 0x53
je 0x102ebb09
cmp edi, 0x69
je 0x102ebb09
cmp edi, 0x49
je 0x102ebb09
cmp edi, 0x63
je 0x102ebb09
cmp edi, 0x43
je 0x102ebb09
cmp edi, 0x64
je 0x102ebb09
cmp edi, 0x44
je 0x102ebb09
cmp edi, 0x77
je 0x102ebb09
cmp edi, 0x57
je 0x102ebb09
push str.Wrong_escape_sequence__misuse_of_character_
push esi
mov dword [esi + 8], 0x5aa
call fcn.102f0620
add esp, 8
pop edi
pop esi
ret
add edi, 0xffffffbd
mov ecx, 7
cmp edi, 0x34
ja case.0x102ebb1d.69
movzx eax, byte [edi + 0x102ebc68]
jmp dword [eax*4 + 0x102ebc3c]
mov ecx, 8
jmp case.0x102ebb1d.69
mov ecx, 9
jmp case.0x102ebb1d.69
mov ecx, 0xa
jmp case.0x102ebb1d.69
mov ecx, 0xb
jmp case.0x102ebb1d.69
mov ecx, 0xc
jmp case.0x102ebb1d.69
mov ecx, 0xd
jmp case.0x102ebb1d.69
mov ecx, 0xe
jmp case.0x102ebb1d.69
mov ecx, 0xf
jmp case.0x102ebb1d.69
mov ecx, 0x10
lea eax, [edx + 1]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x102ebb7e
push ecx
push esi
call fcn.102ef660
add esp, 8
mov dword [esi + 0x1c], eax
pop edi
pop esi
ret
cmp dword [eax + 4], 3
jne 0x102ebc37
push 0
push 0
push 0
push ecx
push dword [esi + 0xc]
push eax
push esi
call fcn.102ed260
add esp, 0x1c
pop edi
pop esi
ret
mov ecx, dword [esi + 0x1c]
test ecx, ecx
jne 0x102ebbf9
push 2
push esi
call fcn.102ef660
add esp, 8
mov dword [esi + 0x1c], eax
test eax, eax
je 0x102ebc34
mov ecx, edi
sub ecx, 0x6e
je 0x102ebbec
sub ecx, 4
je 0x102ebbdf
sub ecx, 2
je 0x102ebbd2
mov dword [eax + 0x20], edi
inc dword [esi + 4]
pop edi
pop esi
ret
mov dword [eax + 0x20], 9
inc dword [esi + 4]
pop edi
pop esi
ret
mov dword [eax + 0x20], 0xd
inc dword [esi + 4]
pop edi
pop esi
ret
mov dword [eax + 0x20], 0xa
inc dword [esi + 4]
pop edi
pop esi
ret
cmp dword [ecx + 4], 3
jne 0x102ebc34
mov eax, edi
sub eax, 0x6e
je 0x102ebc1c
sub eax, 4
je 0x102ebc15
sub eax, 2
jne 0x102ebc21
lea edi, [eax + 9]
jmp 0x102ebc21
mov edi, 0xd
jmp 0x102ebc21
mov edi, 0xa
push 0
push edi
push edi
push 2
push dword [esi + 0xc]
push ecx
push esi
call fcn.102ed260
add esp, 0x1c
inc dword [esi + 4]
pop edi
pop esi
ret