Function at 0x487796
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
sub esp, 0x14
xor edx, edx
inc dword [ecx + 0x338]
mov eax, dword [ecx + 0x338]
push ebx
mov ebx, edx
push esi
push edi
cmp eax, dword [ecx + 0x33c]
jge 0x487c78
mov esi, dword [ebp + 0xc]
xor eax, eax
mov edi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ecx]
mov eax, dword [edi]
mov edi, dword [edi + 0xc]
mov dword [ebp - 0xc], eax
cmp eax, 0x3f
jg 0x4878cd
je 0x4878b2
cmp eax, 0xffffffff
je 0x487c5e
cmp eax, 0x24
je 0x4878a8
cmp eax, 0x28
je 0x487863
cmp eax, 0x29
je 0x487859
cmp eax, 0x2a
je 0x48783c
cmp eax, 0x2b
je 0x48781c
cmp eax, 0x2e
jne 0x4878fe
mov ebx, 0xc09
jmp 0x487c5e
xor eax, eax
inc eax
or dword [esi + 0x10], 0xffffffff
mov dword [esi + 0xc], eax
cmp edi, 0x3f
jne 0x4878c0
mov ebx, 0x1802
mov dword [esi + 4], edx
jmp 0x487c5e
or dword [esi + 0x10], 0xffffffff
mov dword [esi + 0xc], edx
cmp edi, 0x3f
je 0x48782f
mov ebx, 0xc02
mov dword [esi + 4], 1
jmp 0x487c5e
mov ebx, 0xc16
jmp 0x487c5e
cmp edi, 0x3f
jne 0x48789e
mov edi, dword [ecx]
cmp dword [edi + 0x18], 0x3d
jne 0x48787a
mov ebx, 0x2407
jmp 0x487c5e
cmp dword [edi + 0x18], 0x21
jne 0x48788a
mov ebx, 0x2408
jmp 0x487c5e
cmp dword [edi + 0x18], 0x3a
jne 0x487c5e
mov ebx, 0x2413
jmp 0x487c5e
mov ebx, 0xc12
jmp 0x487c5e
mov ebx, 0xc04
jmp 0x487c5e
xor eax, eax
mov dword [esi + 0xc], edx
inc eax
mov dword [esi + 0x10], eax
jmp 0x487826
mov ebx, 0xc02
mov dword [esi + 4], eax
jmp 0x487c5e
sub eax, 0x5b
je 0x487c4f
sub eax, 1
je 0x487a3c
sub eax, 1
je 0x487a2d
sub eax, 1
je 0x487a23
sub eax, 0x1d
je 0x487915
sub eax, 1
je 0x48790b
mov eax, dword [ebp - 0xc]
mov ebx, 0xc0a
mov dword [esi + 8], eax
jmp 0x487c5e
mov ebx, 0xc01
jmp 0x487c5e
mov edi, dword [ecx]
or ebx, 0xffffffff
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], edx
mov eax, dword [edi + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 8]
xor edi, edi
mov dword [ebp - 0x10], eax
push 0xc
push ecx
call fcn.00469244
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov edx, dword [eax]
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x487964
inc dword [ebp - 8]
push edx
push ecx
call fcn.00470ce9
pop ecx
pop ecx
imul ecx, dword [ebp - 4], 0xa
add eax, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 4], eax
jmp 0x487931
cmp edx, 0x2c
jne 0x4879a5
mov eax, dword [ebp - 8]
cmp eax, 9
jg 0x487a03
cmp dword [ebp - 0xc], ebx
jne 0x487a03
mov edx, dword [ecx]
cmp dword [edx + 0xc], 0x7d
je 0x487994
mov edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], edi
mov dword [ebp - 8], edi
jmp 0x487931
test eax, eax
je 0x487a03
mov edx, dword [ebp - 4]
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ebx
push 0x18
jmp 0x4879d0
cmp edx, 0x7d
jne 0x487a03
mov eax, dword [ebp - 8]
cmp eax, 9
jg 0x487a03
test eax, eax
je 0x487a03
mov eax, dword [ebp - 0xc]
cmp eax, ebx
je 0x4879c5
mov edx, dword [ebp - 4]
mov dword [esi + 0x10], edx
jmp 0x4879cb
mov eax, dword [ebp - 4]
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], eax
push 0xc
push ecx
call fcn.00469244
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp dword [eax], 0x3f
jne 0x4879f4
push 0xc
push ecx
mov dword [esi + 4], edi
call fcn.00469244
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
jmp 0x4879fb
mov dword [esi + 4], 1
push 2
pop ebx
jmp 0x487c5e
lea eax, [ebp - 0x14]
push eax
push ecx
call fcn.00487c93
mov ebx, 0xc0a
mov dword [esi + 8], 0x7b
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
jmp 0x487c5e
mov ebx, 0xc03
jmp 0x487c5e
push 0x5da908
push 0x6800071f
jmp 0x487c82
mov ebx, 0x180a
cmp edi, 0x62
jne 0x487a4e
add ebx, 0xfffffffb
jmp 0x487c5e
cmp edi, 0x42
jne 0x487a5d
mov ebx, 0x1806
jmp 0x487c5e
cmp edi, 0x66
jne 0x487a6e
mov dword [esi + 8], 0xc
jmp 0x487c5e
cmp edi, 0x6e
jne 0x487a7f
mov dword [esi + 8], 0xa
jmp 0x487c5e
cmp edi, 0x74
jne 0x487a90
mov dword [esi + 8], 9
jmp 0x487c5e
cmp edi, 0x72
jne 0x487aa1
mov dword [esi + 8], 0xd
jmp 0x487c5e
cmp edi, 0x76
jne 0x487ab2
mov dword [esi + 8], 0xb
jmp 0x487c5e
cmp edi, 0x63
jne 0x487af7
mov edi, dword [ecx]
mov edx, dword [edi + 0x18]
cmp edx, 0x61
jl 0x487ac6
cmp edx, 0x7a
jle 0x487ace
lea eax, [edx - 0x41]
cmp eax, 0x19
ja 0x487ae8
and edx, 0x8000001f
jns 0x487adb
dec edx
or edx, 0xffffffe0
inc edx
mov dword [esi + 8], edx
mov ebx, 0x240a
jmp 0x487c5e
push 0x5da8f0
push 0x680006b5
jmp 0x487c82
cmp edi, 0x78
jne 0x487b11
push 2
push ecx
call fcn.0046b6e3
mov dword [esi + 8], eax
mov ebx, 0x300a
jmp 0x487a19
cmp edi, 0x75
jne 0x487b2b
push 2
push ecx
call fcn.0046b716
mov dword [esi + 8], eax
mov ebx, 0x480a
jmp 0x487a19
cmp edi, 0x64
jne 0x487b3a
mov ebx, 0x180b
jmp 0x487c5e
cmp edi, 0x44
jne 0x487b49
mov ebx, 0x180c
jmp 0x487c5e
cmp edi, 0x73
jne 0x487b58
mov ebx, 0x180d
jmp 0x487c5e
cmp edi, 0x53
jne 0x487b67
mov ebx, 0x180e
jmp 0x487c5e
cmp edi, 0x77
jne 0x487b76
mov ebx, 0x180f
jmp 0x487c5e
cmp edi, 0x57
jne 0x487b85
mov ebx, 0x1810
jmp 0x487c5e
lea eax, [edi - 0x30]
cmp eax, 9
ja 0x487c14
cmp edi, 0x30
jne 0x487bbc
mov edi, dword [ecx]
mov eax, dword [edi + 0x18]
cmp eax, 0x30
jl 0x487bb4
cmp eax, 0x39
jg 0x487bb4
push 0x5da8f0
push 0x680006cd
jmp 0x487c82
mov dword [esi + 8], edx
jmp 0x487c5e
mov ebx, edx
xor edi, edi
push 0xc
push ecx
call fcn.00469244
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov edx, dword [eax]
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x487c0c
push edx
push ecx
call fcn.00470ce9
imul edi, edi, 0xa
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
add edi, eax
inc ebx
cmp ebx, 9
jl 0x487bc0
push 0x5da8f0
push 0x680006d7
mov eax, ecx
push 0x5da7e8
push dword [eax + 0x304]
jmp 0x487c8d
push 0x11
pop ebx
mov dword [esi + 8], edi
jmp 0x487c5e
test edi, edi
js 0x487c26
push edi
call fcn.0048adbc
pop ecx
test eax, eax
je 0x487c47
mov ecx, dword [ebp + 8]
cmp edi, 0x24
je 0x487c47
cmp edi, 0x200c
je 0x487c47
cmp edi, 0x200d
je 0x487c47
push 0x5da8f0
push 0x680006f0
jmp 0x487c82
mov dword [esi + 8], edi
jmp 0x487a1b
mov ebx, 0xc14
cmp edi, 0x5e
jne 0x487c5e
mov ebx, 0x1815
mov eax, ebx
sar eax, 8
push eax
push ecx
call fcn.00469244
pop ecx
pop ecx
movzx eax, bl
pop edi
mov dword [esi], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x5da804
push 0x66000603
push 0x5da7e8
push dword [ecx + 0x304]
call fcn.004806a9
int3