Function at 0x1002ef50
Capabilities:
Parse credit card information

Disassembly:
push esi
push edi
mov esi, ecx
xor edi, edi
xor al, al
cmp dword [esi + 0x40], 0xffffffff
je 0x1002f1e3
push ebx
mov ecx, dword [esi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x1002f1e2
cmp ecx, 0x29
jne 0x1002ef96
cmp dword [esi + 0x10], edi
jne 0x1002f1e2
test dword [esi + 0x44], edx
jne 0x1002ef96
push 5
call fcn.10071bbd
add esp, 4
jmp 0x1002f1cf
cmp ecx, 0x2e
jne 0x1002f033
push 0x14
call fcn.10071d47
add esp, 4
cmp eax, edi
je 0x1002efc5
mov dword [eax], 0x100a4fdc
mov dword [eax + 4], 5
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
jmp 0x1002efc7
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, edi
je 0x1002efe3
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [esi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f027
cmp byte [eax], 0x5c
jne 0x1002f025
inc eax
cmp eax, ecx
je 0x1002f011
test byte [esi + 0x44], 8
jne 0x1002f011
mov cl, byte [eax]
cmp cl, 0x28
je 0x1002f023
cmp cl, 0x29
je 0x1002f023
test byte [esi + 0x44], 0x10
jne 0x1002f025
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f023
cmp cl, 0x7d
jne 0x1002f025
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10027260
jmp 0x1002f1cf
cmp ecx, 0x5c
jne 0x1002f115
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f077
cmp byte [eax], 0x5c
jne 0x1002f075
inc eax
cmp eax, ecx
je 0x1002f061
test byte [esi + 0x44], 8
jne 0x1002f061
mov cl, byte [eax]
cmp cl, 0x28
je 0x1002f073
cmp cl, 0x29
je 0x1002f073
test byte [esi + 0x44], 0x10
jne 0x1002f075
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f073
cmp cl, 0x7d
jne 0x1002f075
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10027260
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x1002f0df
cmp byte [esi + 0x3e], 0x62
jne 0x1002f0df
push 4
lea ecx, [esi + 0x18]
call fcn.10025bf0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f0d3
cmp byte [eax], 0x5c
jne 0x1002f0d1
inc eax
cmp eax, ecx
je 0x1002f0bd
test byte [esi + 0x44], 8
jne 0x1002f0bd
mov cl, byte [eax]
cmp cl, 0x28
je 0x1002f0cf
cmp cl, 0x29
je 0x1002f0cf
test byte [esi + 0x44], 0x10
jne 0x1002f0d1
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f0cf
cmp cl, 0x7d
jne 0x1002f0d1
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10027260
jmp 0x1002f1d6
cmp eax, edi
je 0x1002f109
cmp byte [esi + 0x3e], 0x42
jne 0x1002f109
push 4
lea ecx, [esi + 0x18]
call fcn.10025bf0
mov eax, dword [esi + 0x1c]
or dword [eax + 8], 1
add eax, 8
mov ecx, esi
call fcn.10027440
jmp 0x1002f1d6
mov ecx, esi
call fcn.1002b5a0
jmp 0x1002f1cf
cmp ecx, 0x5b
jne 0x1002f170
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f155
cmp byte [eax], 0x5c
jne 0x1002f153
inc eax
cmp eax, ecx
je 0x1002f13f
test byte [esi + 0x44], 8
jne 0x1002f13f
mov cl, byte [eax]
cmp cl, 0x28
je 0x1002f151
cmp cl, 0x29
je 0x1002f151
test byte [esi + 0x44], 0x10
jne 0x1002f153
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f151
cmp cl, 0x7d
jne 0x1002f153
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10027260
mov ecx, esi
call fcn.1002eb20
push 4
push 0x5d
mov ecx, esi
call fcn.10027550
jmp 0x1002f1cf
cmp ecx, 0x28
jne 0x1002f1e6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002f1b0
cmp byte [eax], 0x5c
jne 0x1002f1ae
inc eax
cmp eax, ecx
je 0x1002f19a
test byte [esi + 0x44], 8
jne 0x1002f19a
mov cl, byte [eax]
cmp cl, 0x28
je 0x1002f1ac
cmp cl, 0x29
je 0x1002f1ac
test byte [esi + 0x44], 0x10
jne 0x1002f1ae
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002f1ac
cmp cl, 0x7d
jne 0x1002f1ae
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10027260
mov ecx, esi
call fcn.100275b0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10027550
test bl, bl
je 0x1002f1d6
mov ecx, esi
call fcn.1002adc0
cmp dword [esi + 0x40], 0xffffffff
mov al, 1
jne 0x1002ef63
pop ebx
pop edi
pop esi
ret
cmp ecx, 0x5e
jne 0x1002f1fe
push 2
lea ecx, [esi + 0x18]
call fcn.10025bf0
mov ecx, esi
call fcn.10027440
jmp 0x1002f1d6
cmp ecx, 0x24
jne 0x1002f216
push 3
lea ecx, [esi + 0x18]
call fcn.10025bf0
mov ecx, esi
call fcn.10027440
jmp 0x1002f1d6
cmp ecx, 0x2a
je 0x1002f272
cmp ecx, 0x2b
je 0x1002f272
cmp ecx, 0x3f
je 0x1002f272
cmp ecx, 0x7b
je 0x1002f272
cmp ecx, 0x7d
jne 0x1002f240
test dword [esi + 0x44], edx
jne 0x1002f240
push 6
call fcn.10071bbd
add esp, 4
jmp 0x1002f1cf
cmp ecx, 0x5d
jne 0x1002f259
test dword [esi + 0x44], edx
jne 0x1002f259
push 4
call fcn.10071bbd
add esp, 4
jmp 0x1002f1cf
movzx edx, byte [esi + 0x3e]
push edx
lea ecx, [esi + 0x18]
call fcn.10029c20
mov ecx, esi
call fcn.10027440
jmp 0x1002f1cf
push 0xa
call fcn.10071bbd
add esp, 4
jmp 0x1002f1cf