Function at 0x77c25798
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 [0x77c617e0]
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 [0x77c617e0], eax
jg 0x77c2585c
je 0x77c25ba5
cmp ecx, edi
je 0x77c2584f
cmp ecx, 0x2f
jle 0x77c259b7
cmp ecx, 0x31
jle 0x77c25804
cmp ecx, 0x39
jg 0x77c259b7
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77c114d0]
jmp 0x77c25b0a
mov esi, eax
lea eax, [ebp - 0x20]
push edi
push eax
call fcn.77c255dd
pop ecx
pop ecx
push eax
lea ecx, [ebp - 8]
call fcn.77c2378c
lea ecx, [ebp - 8]
mov dword [0x77c617e0], esi
call fcn.77c23aef
test eax, eax
jne 0x77c25b3c
cmp byte [esi - 1], 0x31
jne 0x77c25b3c
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x28]
push 0x7e
push eax
call fcn.77c2476b
jmp 0x77c25b30
dec eax
mov dword [0x77c617e0], eax
push 2
jmp 0x77c259b9
cmp ecx, 0x42
je 0x77c25ba2
jle 0x77c259b7
cmp ecx, 0x5a
jle 0x77c25ba5
cmp ecx, 0x5f
jne 0x77c259b7
movsx ecx, byte [eax]
inc eax
cmp ecx, 0x50
mov dword [0x77c617e0], eax
jg 0x77c2598c
je 0x77c2593c
cmp ecx, 0x3f
jg 0x77c258f9
je 0x77c258d7
cmp ecx, edi
je 0x77c2584f
cmp ecx, 0x2f
jle 0x77c259b7
cmp ecx, 0x36
jle 0x77c258c7
cmp ecx, 0x39
jg 0x77c259b7
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77c11560]
jmp 0x77c25b98
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77c11560]
jmp 0x77c25b0a
movsx ecx, byte [eax]
inc eax
cmp ecx, edi
mov dword [0x77c617e0], eax
je 0x77c2584f
cmp ecx, 0x30
jne 0x77c259b7
push edi
push 0x77c11cb8
jmp 0x77c25924
cmp ecx, edx
jl 0x77c259b7
cmp ecx, 0x42
jle 0x77c25b8d
cmp ecx, 0x43
je 0x77c2591d
jle 0x77c259b7
cmp ecx, 0x4f
jmp 0x77c259b1
push 1
push 0x77c11a24
lea eax, [ebp - 0x18]
push eax
call fcn.77c24e91
add esp, 0xc
or byte [ebp - 0x13], 1
lea eax, [ebp - 0x18]
jmp 0x77c25b3f
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77c11544]
lea ecx, [ebp - 8]
call fcn.77c243b2
lea eax, [ebp - 0x30]
push eax
call fcn.77c25798
pop ecx
push eax
lea ecx, [ebp - 0x10]
call fcn.77c2378c
lea ecx, [ebp - 0x10]
call fcn.77c23aef
test eax, eax
jne 0x77c2597d
call fcn.77c23aef
test eax, eax
jne 0x77c2597d
test byte [ebp - 0xc], 0x40
jne 0x77c259b7
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 8]
lea ecx, [ebp - 8]
jmp 0x77c25af8
cmp ecx, 0x56
jg 0x77c25b4f
cmp ecx, 0x55
jge 0x77c25aff
cmp ecx, 0x51
je 0x77c25b12
cmp ecx, 0x52
je 0x77c259c6
jle 0x77c259b7
cmp ecx, 0x54
jle 0x77c25b8d
push 1
mov ecx, dword [ebp + 8]
call fcn.77c23a69
jmp 0x77c25b48
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77c11544]
lea ecx, [ebp - 8]
call fcn.77c243b2
mov eax, dword [0x77c617e0]
movsx eax, byte [eax]
push dword [eax*4 + 0x77c11600]
lea ecx, [ebp - 0x10]
call fcn.77c243b2
mov eax, dword [0x77c617e0]
movsx eax, byte [eax]
inc dword [0x77c617e0]
cmp eax, 0x30
je 0x77c25ac6
cmp eax, 0x31
je 0x77c25a22
jle 0x77c25a17
cmp eax, 0x34
jle 0x77c2597d
dec dword [0x77c617e0]
jmp 0x77c25855
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 8]
call fcn.77c244cd
push 0x2c
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.77c24f38
pop ecx
mov ecx, eax
call fcn.77c247e6
push eax
lea ecx, [ebp - 0x18]
call fcn.77c24321
push 0x2c
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.77c24f38
pop ecx
mov ecx, eax
call fcn.77c247e6
push eax
lea ecx, [ebp - 0x18]
call fcn.77c24321
push 0x2c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.77c24f38
pop ecx
mov ecx, eax
call fcn.77c247e6
push eax
lea ecx, [ebp - 0x18]
call fcn.77c24321
push 0x29
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x70]
push edi
push eax
call fcn.77c2486c
pop ecx
pop ecx
mov ecx, eax
call fcn.77c247e6
push eax
lea ecx, [ebp - 0x18]
call fcn.77c24321
push 0x27
push dword [ebp + 8]
lea ecx, [ebp - 0x18]
call fcn.77c247e6
jmp 0x77c25b48
lea eax, [ebp - 0x18]
push edi
push eax
call fcn.77c27e88
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.77c247e6
mov ecx, eax
call fcn.77c244cd
mov ecx, eax
call fcn.77c244cd
jmp 0x77c25b48
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77c11544]
lea ecx, [ebp - 8]
call fcn.77c243b2
lea ecx, [ebp - 8]
call fcn.77c23aef
test eax, eax
jne 0x77c25b3c
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x80]
push 0x77c11af0
push eax
call fcn.77c247bd
add esp, 0xc
lea ecx, [ebp - 8]
push eax
call fcn.77c2378c
lea eax, [ebp - 8]
mov ecx, dword [ebp + 8]
push eax
call fcn.77c23719
mov eax, dword [ebp + 8]
pop edi
pop esi
leave
ret
cmp ecx, 0x58
jl 0x77c259b7
cmp ecx, 0x59
jle 0x77c25b8d
cmp ecx, 0x5f
jne 0x77c259b7
movsx ecx, byte [eax]
inc eax
cmp ecx, edx
mov dword [0x77c617e0], eax
jl 0x77c259b7
cmp ecx, 0x44
jg 0x77c259b7
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77c115a8]
jmp 0x77c25b98
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77c11544]
mov ecx, dword [ebp + 8]
call fcn.77c24102
jmp 0x77c25b48
xor esi, esi
inc esi
movsx eax, byte [eax - 1]
push dword [eax*4 + 0x77c114b4]
lea ecx, [ebp - 8]
call fcn.77c243b2
cmp esi, edi
je 0x77c25b12
lea ecx, [ebp - 8]
call fcn.77c23aef
test eax, eax
jne 0x77c25b3c
or dword [ebp - 4], 0x20
jmp 0x77c25b3c