Function at 0x776828
Capabilities:
Parse credit card information

Disassembly:
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor edi, edi
push 0x2c
pop ecx
push 0x7d
mov eax, dword [esi + 0x44]
mov edx, edi
mov dword [esi + 0xe8], edi
pop ebx
cmp eax, dword [esi + 0x48]
jae 0x776614
movzx ecx, word [eax]
add eax, 2
push 0x2c
mov dword [esi + 0x44], eax
mov ebp, ecx
pop eax
mov dword [esi + 0x4c], ebp
mov ebx, ecx
cmp cx, ax
je 0x77660e
push 0x7d
pop eax
cmp bx, ax
je 0x77660e
mov edx, ebp
mov ecx, esi
call fcn.00776440
imul edx, dword [esi + 0xe8], 0xa
movzx ecx, al
add edx, ecx
mov dword [esi + 0xe8], edx
cmp edx, 0xffff
jge 0x77667a
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x48]
jb 0x7765c3
push 0x2c
pop ecx
push 0x7d
pop ebx
cmp dword [esi + 0x4c], ecx
je 0x776621
mov dword [esi + 0xec], edx
jmp 0x776670
mov dword [esi + 0xec], edi
jmp 0x77665a
movzx edx, word [eax]
add eax, 2
mov dword [esi + 0x4c], edx
mov dword [esi + 0x44], eax
cmp edx, ebx
je 0x776662
mov ecx, esi
call fcn.00776440
imul edi, dword [esi + 0xec], 0xa
movzx ecx, al
add edi, ecx
mov dword [esi + 0xec], edi
cmp edi, 0xffff
jge 0x77667a
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x48]
jb 0x776629
test edi, edi
jne 0x776670
mov dword [esi + 0xec], 0xffff
pop edi
pop esi
pop ebp
mov eax, 0x102
pop ebx
ret
mov ecx, esi
call fcn.0077659c
int3
push ecx
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov dword [esp + 0x10], 0x108
xor ebp, ebp
xor bl, bl
xor bh, bh
call fcn.007764ee
push dword [esi + 0x48]
lea edi, [esi + 0x4c]
lea edx, [esi + 0x44]
mov ecx, edi
call fcn.00776491
pop ecx
mov cl, al
test cl, cl
jne 0x7766dd
cmp dword [edi], 0x5e
jne 0x7766d0
mov dword [esp + 0x10], 0x109
push dword [esi + 0x48]
lea edx, [esi + 0x44]
mov ecx, edi
call fcn.00776491
pop ecx
mov cl, al
test cl, cl
jne 0x7766dd
cmp dword [edi], 0x5d
je 0x7767f5
mov eax, dword [edi]
test eax, eax
je 0x77681f
test cl, cl
je 0x7767c0
push eax
push str.DdSsWwAa
call fcn.007e7010
pop ecx
pop ecx
test eax, eax
je 0x776797
test bl, bl
je 0x776724
push ebp
mov edx, ebp
mov ecx, esi
call fcn.00776513
pop ecx
test bh, bh
je 0x776724
push 0x2d
push 0x2d
pop edx
mov ecx, esi
call fcn.00776513
pop ecx
cmp dword [edi], 0x61
ja 0x776762
je 0x77675b
cmp dword [edi], 0x41
je 0x776754
cmp dword [edi], 0x44
je 0x77674d
cmp dword [edi], 0x53
je 0x776746
cmp dword [edi], 0x57
jne 0x77678e
mov edx, 0x80000005
jmp 0x776784
mov edx, 0x80000003
jmp 0x776784
mov edx, 0x80000001
jmp 0x776784
mov edx, 0x80000007
jmp 0x776784
mov edx, 0x80000006
jmp 0x776784
cmp dword [edi], 0x64
je 0x77677f
cmp dword [edi], 0x73
je 0x776778
cmp dword [edi], 0x77
jne 0x77678e
mov edx, 0x80000004
jmp 0x776784
mov edx, 0x80000002
jmp 0x776784
mov edx, 0x80000000
push 0
mov ecx, esi
call fcn.00776513
pop ecx
xor bh, bh
xor bl, bl
jmp 0x7766c0
mov eax, dword [edi]
cmp eax, 0x30
je 0x7767b9
cmp eax, 0x62
jne 0x7767aa
push 8
pop edx
mov dword [edi], edx
mov eax, edx
test bl, bl
je 0x7767ec
mov edx, ebp
mov ecx, esi
test bh, bh
je 0x7767de
push eax
jmp 0x776788
and dword [edi], 0
xor eax, eax
jmp 0x7767aa
cmp eax, 0x2d
jne 0x7767aa
test bl, bl
je 0x7767d9
test bh, bh
je 0x7767d2
push eax
mov edx, ebp
jmp 0x776786
mov bh, 1
jmp 0x7766c0
push 0x2d
pop ebp
jmp 0x7767ee
push ebp
call fcn.00776513
mov ebp, dword [edi]
pop ecx
jmp 0x7766c0
mov ebp, eax
mov bl, 1
jmp 0x7766c0
test bl, bl
je 0x776815
push ebp
mov edx, ebp
mov ecx, esi
call fcn.00776513
pop ecx
test bh, bh
je 0x776815
push 0x2d
push 0x2d
pop edx
mov ecx, esi
call fcn.00776513
pop ecx
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
push 0xb
push esi
call fcn.007e7473
int3
push ebx
push esi
mov esi, ecx
push edi
push dword [esi + 0x48]
lea ebx, [esi + 0x44]
lea edi, [esi + 0x4c]
mov edx, ebx
mov ecx, edi
call fcn.00776491
pop ecx
mov ecx, dword [edi]
test al, al
je 0x776944
cmp ecx, 0x62
ja 0x7768a6
je 0x77689c
mov eax, ecx
sub eax, 0x30
je 0x776895
sub eax, 0x12
je 0x77688b
dec eax
sub eax, 1
je 0x776881
sub eax, 0xf
je 0x776877
sub eax, 4
jne 0x7768bd
mov edi, 0x109
jmp 0x776904
mov edi, 0x109
jmp 0x776917
mov edi, 0x109
jmp 0x77692a
mov eax, 0x10b
jmp 0x77697e
mov eax, 0x103
jmp 0x7768fa
mov eax, 0x10a
jmp 0x77697e
cmp ecx, 0x64
je 0x776925
cmp ecx, 0x73
je 0x776912
cmp ecx, 0x77
je 0x7768ff
cmp ecx, 0x7fffffff
je 0x7768f5
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x776979
mov edx, dword [ebx]
mov dword [edi], ecx
movzx eax, word [edx]
mov esi, eax
cmp esi, 0x30
jb 0x7768eb
cmp eax, 0x39
ja 0x7768eb
imul eax, ecx, 0xa
add eax, 0xffffffd0
add eax, esi
mov dword [edi], eax
lea eax, [edx + 2]
mov dword [ebx], eax
mov eax, 0x107
jmp 0x77697e
mov eax, 0x101
and dword [edi], 0
jmp 0x77697e
mov edi, 0x108
mov ecx, esi
call fcn.007764ee
mov edx, 0x80000004
jmp 0x776936
mov edi, 0x108
mov ecx, esi
call fcn.007764ee
mov edx, 0x80000002
jmp 0x776936
mov edi, 0x108
mov ecx, esi
call fcn.007764ee
mov edx, 0x80000000
push 0
mov ecx, esi
call fcn.00776513
pop ecx
mov eax, edi
jmp 0x77697e
cmp byte [esi + 0x40], 0
je 0x7769eb
push 0x3f
pop eax
cmp ecx, eax
ja 0x7769bd
je 0x7769dd
test ecx, ecx
je 0x7769ef
cmp ecx, 0x24
je 0x7769dd
cmp ecx, 0x28
je 0x776982
jbe 0x776979
cmp ecx, 0x2b
jbe 0x7769dd
cmp ecx, 0x2e
je 0x7769dd
mov eax, 0x100
pop edi
pop esi
pop ebx
ret
mov ecx, dword [ebx]
cmp word [ecx], ax
jne 0x7769b8
movzx eax, word [ecx + 2]
mov edx, eax
cmp edx, 0x21
je 0x7769ac
cmp edx, 0x3a
je 0x7769a5
cmp eax, 0x3d
jne 0x7769b8
mov eax, 0x104
jmp 0x7769b1
mov eax, 0x105
jmp 0x7769b1
mov eax, 0x106
add ecx, 4
mov dword [ebx], ecx
jmp 0x77697e
push 0x28
pop eax
jmp 0x77697e
mov eax, ecx
sub eax, 0x5b
je 0x7769e1
sub eax, 3
je 0x7769dd
sub eax, 0x1d
je 0x7769d3
sub eax, 1
jmp 0x776977
pop edi
mov ecx, esi
pop esi
pop ebx
jmp 0x7765a5
mov eax, ecx
jmp 0x77697e
pop edi
mov ecx, esi
pop esi
pop ebx
jmp 0x776682
test ecx, ecx
jne 0x776979
xor eax, eax
jmp 0x77697e