Function at 0x7c01c9f8
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
push esi
mov eax, 0xfffffe00
and dword [ebp - 4], eax
and dword [ebp - 0xc], eax
mov eax, dword [0x7c04f434]
movsx ecx, byte [eax]
push edi
xor edi, edi
push 0x41
xor esi, esi
inc eax
pop edx
cmp ecx, edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], edi
mov dword [0x7c04f434], eax
jg 0x7c01caba
je 0x7c01ce06
cmp ecx, edi
je 0x7c01caad
cmp ecx, 0x2f
jle 0x7c01cc18
cmp ecx, 0x31
jle 0x7c01ca62
cmp ecx, 0x39
jg 0x7c01cc18
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x7c03fdd8]
jmp 0x7c01cd6b
mov esi, eax
lea eax, [ebp - 0x20]
push edi
push eax
call fcn.7c01c81a
pop ecx
pop ecx
push eax
lea ecx, [ebp - 8]
call fcn.7c01ac54
lea ecx, [ebp - 8]
mov dword [0x7c04f434], esi
call fcn.7c01aeec
test eax, eax
jne 0x7c01cd9d
cmp byte [esi - 1], 0x31
jne 0x7c01cd9d
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x28]
push 0x7e
push eax
call fcn.7c01ba65
jmp 0x7c01cd91
dec eax
mov dword [0x7c04f434], eax
push 2
jmp 0x7c01cc1a
cmp ecx, 0x42
je 0x7c01ce03
jle 0x7c01cc18
cmp ecx, 0x5a
jle 0x7c01ce06
cmp ecx, 0x5f
jne 0x7c01cc18
movsx ecx, byte [eax]
inc eax
cmp ecx, 0x50
mov dword [0x7c04f434], eax
jg 0x7c01cbed
je 0x7c01cb9a
cmp ecx, 0x3f
jg 0x7c01cb57
je 0x7c01cb35
cmp ecx, edi
je 0x7c01caad
cmp ecx, 0x2f
jle 0x7c01cc18
cmp ecx, 0x36
jle 0x7c01cb25
cmp ecx, 0x39
jg 0x7c01cc18
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x7c03fe68]
jmp 0x7c01cdf9
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x7c03fe68]
jmp 0x7c01cd6b
movsx ecx, byte [eax]
inc eax
cmp ecx, edi
mov dword [0x7c04f434], eax
je 0x7c01caad
cmp ecx, 0x30
jne 0x7c01cc18
push edi
push str._anonymous_namespace
jmp 0x7c01cb82
cmp ecx, edx
jl 0x7c01cc18
cmp ecx, 0x42
jle 0x7c01cdee
cmp ecx, 0x43
je 0x7c01cb7b
jle 0x7c01cc18
cmp ecx, 0x4f
jmp 0x7c01cc12
push 1
push str._string
lea eax, [ebp - 0x18]
push eax
call fcn.7c01c108
add esp, 0xc
or byte [ebp - 0x13], 1
lea eax, [ebp - 0x18]
jmp 0x7c01cda0
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x7c03fe4c]
lea ecx, [ebp - 8]
call fcn.7c01b6e6
lea eax, [ebp - 0x30]
push eax
call fcn.7c01c9f8
pop ecx
push eax
lea ecx, [ebp - 0x10]
call fcn.7c01ac54
lea ecx, [ebp - 0x10]
call fcn.7c01aeec
test eax, eax
jne 0x7c01cbde
lea ecx, [ebp - 0x10]
call fcn.7c01aeec
test eax, eax
jne 0x7c01cbde
test byte [ebp - 0xc], 0x40
jne 0x7c01cc18
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 8]
lea ecx, [ebp - 8]
jmp 0x7c01cd59
cmp ecx, 0x56
jg 0x7c01cdb0
cmp ecx, 0x55
jge 0x7c01cd60
cmp ecx, 0x51
je 0x7c01cd73
cmp ecx, 0x52
je 0x7c01cc27
jle 0x7c01cc18
cmp ecx, 0x54
jle 0x7c01cdee
push 1
mov ecx, dword [ebp + 8]
call fcn.7c01ae75
jmp 0x7c01cda9
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x7c03fe4c]
lea ecx, [ebp - 8]
call fcn.7c01b6e6
mov eax, dword [0x7c04f434]
movsx eax, byte [eax]
push dword [eax*4 + 0x7c03ff08]
lea ecx, [ebp - 0x10]
call fcn.7c01b6e6
mov eax, dword [0x7c04f434]
movsx eax, byte [eax]
inc dword [0x7c04f434]
cmp eax, 0x30
je 0x7c01cd27
cmp eax, 0x31
je 0x7c01cc83
jle 0x7c01cc78
cmp eax, 0x34
jle 0x7c01cbde
dec dword [0x7c04f434]
jmp 0x7c01cab3
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 8]
call fcn.7c01b7e9
push 0x2c
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.7c01c1a8
pop ecx
mov ecx, eax
call fcn.7c01bacb
push eax
lea ecx, [ebp - 0x18]
call fcn.7c01b669
push 0x2c
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.7c01c1a8
pop ecx
mov ecx, eax
call fcn.7c01bacb
push eax
lea ecx, [ebp - 0x18]
call fcn.7c01b669
push 0x2c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.7c01c1a8
pop ecx
mov ecx, eax
call fcn.7c01bacb
push eax
lea ecx, [ebp - 0x18]
call fcn.7c01b669
push 0x29
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x70]
push edi
push eax
call fcn.7c01bb49
pop ecx
pop ecx
mov ecx, eax
call fcn.7c01bacb
push eax
lea ecx, [ebp - 0x18]
call fcn.7c01b669
push 0x27
push dword [ebp + 8]
lea ecx, [ebp - 0x18]
call fcn.7c01bacb
jmp 0x7c01cda9
lea eax, [ebp - 0x18]
push edi
push eax
call fcn.7c01f057
pop ecx
pop ecx
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 8]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x78]
push eax
push 0x20
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x18]
call fcn.7c01bacb
mov ecx, eax
call fcn.7c01b7e9
mov ecx, eax
call fcn.7c01b7e9
jmp 0x7c01cda9
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x7c03fe4c]
lea ecx, [ebp - 8]
call fcn.7c01b6e6
lea ecx, [ebp - 8]
call fcn.7c01aeec
test eax, eax
jne 0x7c01cd9d
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x80]
push 0x7c0403f8
push eax
call fcn.7c01baa9
add esp, 0xc
lea ecx, [ebp - 8]
push eax
call fcn.7c01ac54
lea eax, [ebp - 8]
mov ecx, dword [ebp + 8]
push eax
call fcn.7c01abeb
mov eax, dword [ebp + 8]
pop edi
pop esi
leave
ret
cmp ecx, 0x58
jl 0x7c01cc18
cmp ecx, 0x59
jle 0x7c01cdee
cmp ecx, 0x5f
jne 0x7c01cc18
movsx ecx, byte [eax]
inc eax
cmp ecx, edx
mov dword [0x7c04f434], eax
jl 0x7c01cc18
cmp ecx, 0x44
jg 0x7c01cc18
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x7c03feb0]
jmp 0x7c01cdf9
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x7c03fe4c]
mov ecx, dword [ebp + 8]
call fcn.7c01b461
jmp 0x7c01cda9
xor esi, esi
inc esi
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x7c03fdbc]
lea ecx, [ebp - 8]
call fcn.7c01b6e6
cmp esi, edi
je 0x7c01cd73
lea ecx, [ebp - 8]
call fcn.7c01aeec
test eax, eax
jne 0x7c01cd9d
or dword [ebp - 4], 0x20
jmp 0x7c01cd9d