Function at 0x77bf5798
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
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 [0x77c317e0]
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 [0x77c317e0], eax
jg 0x77bf585c
je 0x77bf5ba5
cmp ecx, edi
je 0x77bf584f
cmp ecx, 0x2f
jle 0x77bf59b7
cmp ecx, 0x31
jle 0x77bf5804
cmp ecx, 0x39
jg 0x77bf59b7
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77be14d0]
jmp 0x77bf5b0a
mov esi, eax
lea eax, [ebp - 0x20]
push edi
push eax
call fcn.77bf55dd
pop ecx
pop ecx
push eax
lea ecx, [ebp - 8]
call fcn.77bf378c
lea ecx, [ebp - 8]
mov dword [0x77c317e0], esi
call fcn.77bf3aef
test eax, eax
jne 0x77bf5b3c
cmp byte [esi - 1], 0x31
jne 0x77bf5b3c
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x28]
push 0x7e
push eax
call fcn.77bf476b
jmp 0x77bf5b30
dec eax
mov dword [0x77c317e0], eax
push 2
jmp 0x77bf59b9
cmp ecx, 0x42
je 0x77bf5ba2
jle 0x77bf59b7
cmp ecx, 0x5a
jle 0x77bf5ba5
cmp ecx, 0x5f
jne 0x77bf59b7
movsx ecx, byte [eax]
inc eax
cmp ecx, 0x50
mov dword [0x77c317e0], eax
jg 0x77bf598c
je 0x77bf593c
cmp ecx, 0x3f
jg 0x77bf58f9
je 0x77bf58d7
cmp ecx, edi
je 0x77bf584f
cmp ecx, 0x2f
jle 0x77bf59b7
cmp ecx, 0x36
jle 0x77bf58c7
cmp ecx, 0x39
jg 0x77bf59b7
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77be1560]
jmp 0x77bf5b98
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77be1560]
jmp 0x77bf5b0a
movsx ecx, byte [eax]
inc eax
cmp ecx, edi
mov dword [0x77c317e0], eax
je 0x77bf584f
cmp ecx, 0x30
jne 0x77bf59b7
push edi
push 0x77be1cb8
jmp 0x77bf5924
cmp ecx, edx
jl 0x77bf59b7
cmp ecx, 0x42
jle 0x77bf5b8d
cmp ecx, 0x43
je 0x77bf591d
jle 0x77bf59b7
cmp ecx, 0x4f
jmp 0x77bf59b1
push 1
push 0x77be1a24
lea eax, [ebp - 0x18]
push eax
call fcn.77bf4e91
add esp, 0xc
or byte [ebp - 0x13], 1
lea eax, [ebp - 0x18]
jmp 0x77bf5b3f
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77be1544]
lea ecx, [ebp - 8]
call fcn.77bf43b2
lea eax, [ebp - 0x30]
push eax
call fcn.77bf5798
pop ecx
push eax
lea ecx, [ebp - 0x10]
call fcn.77bf378c
lea ecx, [ebp - 0x10]
call fcn.77bf3aef
test eax, eax
jne 0x77bf597d
call fcn.77bf3aef
test eax, eax
jne 0x77bf597d
test byte [ebp - 0xc], 0x40
jne 0x77bf59b7
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 8]
lea ecx, [ebp - 8]
jmp 0x77bf5af8
cmp ecx, 0x56
jg 0x77bf5b4f
cmp ecx, 0x55
jge 0x77bf5aff
cmp ecx, 0x51
je 0x77bf5b12
cmp ecx, 0x52
je 0x77bf59c6
jle 0x77bf59b7
cmp ecx, 0x54
jle 0x77bf5b8d
push 1
mov ecx, dword [ebp + 8]
call fcn.77bf3a69
jmp 0x77bf5b48
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77be1544]
lea ecx, [ebp - 8]
call fcn.77bf43b2
mov eax, dword [0x77c317e0]
movsx eax, byte [eax]
push dword [eax*4 + 0x77be1600]
lea ecx, [ebp - 0x10]
call fcn.77bf43b2
mov eax, dword [0x77c317e0]
movsx eax, byte [eax]
inc dword [0x77c317e0]
cmp eax, 0x30
je 0x77bf5ac6
cmp eax, 0x31
je 0x77bf5a22
jle 0x77bf5a17
cmp eax, 0x34
jle 0x77bf597d
dec dword [0x77c317e0]
jmp 0x77bf5855
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 8]
call fcn.77bf44cd
push 0x2c
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.77bf4f38
pop ecx
mov ecx, eax
call fcn.77bf47e6
push eax
lea ecx, [ebp - 0x18]
call fcn.77bf4321
push 0x2c
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.77bf4f38
pop ecx
mov ecx, eax
call fcn.77bf47e6
push eax
lea ecx, [ebp - 0x18]
call fcn.77bf4321
push 0x2c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.77bf4f38
pop ecx
mov ecx, eax
call fcn.77bf47e6
push eax
lea ecx, [ebp - 0x18]
call fcn.77bf4321
push 0x29
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x70]
push edi
push eax
call fcn.77bf486c
pop ecx
pop ecx
mov ecx, eax
call fcn.77bf47e6
push eax
lea ecx, [ebp - 0x18]
call fcn.77bf4321
push 0x27
push dword [ebp + 8]
lea ecx, [ebp - 0x18]
call fcn.77bf47e6
jmp 0x77bf5b48
lea eax, [ebp - 0x18]
push edi
push eax
call fcn.77bf7e88
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.77bf47e6
mov ecx, eax
call fcn.77bf44cd
mov ecx, eax
call fcn.77bf44cd
jmp 0x77bf5b48
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77be1544]
lea ecx, [ebp - 8]
call fcn.77bf43b2
lea ecx, [ebp - 8]
call fcn.77bf3aef
test eax, eax
jne 0x77bf5b3c
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x80]
push 0x77be1af0
push eax
call fcn.77bf47bd
add esp, 0xc
lea ecx, [ebp - 8]
push eax
call fcn.77bf378c
lea eax, [ebp - 8]
mov ecx, dword [ebp + 8]
push eax
call fcn.77bf3719
mov eax, dword [ebp + 8]
pop edi
pop esi
leave
ret
cmp ecx, 0x58
jl 0x77bf59b7
cmp ecx, 0x59
jle 0x77bf5b8d
cmp ecx, 0x5f
jne 0x77bf59b7
movsx ecx, byte [eax]
inc eax
cmp ecx, edx
mov dword [0x77c317e0], eax
jl 0x77bf59b7
cmp ecx, 0x44
jg 0x77bf59b7
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77be15a8]
jmp 0x77bf5b98
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77be1544]
mov ecx, dword [ebp + 8]
call fcn.77bf4102
jmp 0x77bf5b48
xor esi, esi
inc esi
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77be14b4]
lea ecx, [ebp - 8]
call fcn.77bf43b2
cmp esi, edi
je 0x77bf5b12
lea ecx, [ebp - 8]
call fcn.77bf3aef
test eax, eax
jne 0x77bf5b3c
or dword [ebp - 4], 0x20
jmp 0x77bf5b3c