Function at 0x4889d0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x28
or eax, 0xffffffff
mov word [esp + 0x10], ax
push ebp
xor ecx, ecx
mov eax, 0x65
xor ebp, ebp
mov dword [esp + 0x20], eax
mov edx, 2
mul edx
seto cl
push esi
push edi
mov dword [esp + 0x24], ebp
neg ecx
or ecx, eax
push ecx
call fcn.0049731a
add esp, 4
xor ecx, ecx
push 4
mov dword [esp + 0x24], eax
mov word [eax], cx
call fcn.0049731a
add esp, 4
test eax, eax
je 0x4b0ff4
mov dword [eax], 1
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x3c]
cmp dword [edx + 8], ebp
jbe 0x488a63
xor edi, edi
mov eax, edx
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x488a5d
movzx eax, word [esi + 8]
cmp ax, 0x3f
jle 0x488b2d
push esi
call fcn.00496eef
mov eax, dword [esp + 0x40]
add esp, 4
inc edi
cmp edi, dword [eax + 8]
jb 0x488a38
mov edx, dword [esp + 0x3c]
mov dword [edx + 8], ebp
cmp word [ebx], bp
je 0x488c6f
jmp 0x488a80
movzx eax, word [ebx + ebp*2]
cmp ax, 0x20
je 0x488b85
cmp ax, 9
je 0x488b85
movzx eax, word [ebx + ebp*2]
test ax, ax
je 0x488c5a
movzx esi, ax
mov dword [esp + 0x10], ebp
mov word [esp + 0x1e], bp
cmp si, 0x30
jae 0x488b8b
cmp si, 0x2e
je 0x488b95
cmp si, 0x41
jae 0x488cf9
cmp si, 0x61
jae 0x488f63
cmp si, 0x5f
je 0x488d03
movzx eax, si
cmp eax, 0x24
je 0x488cbe
cmp eax, 0x3d
je 0x488d3a
cmp eax, 0x28
je 0x488d77
cmp eax, 0x29
je 0x488d59
cmp eax, 0x22
je 0x488d95
sub eax, 0x1a
cmp eax, 0x44
ja 0x4b1245
movzx ecx, byte [eax + 0x403428]
jmp dword [ecx*4 + 0x4033ec]
cmp ax, 0x30
jl 0x488a50
mov ecx, dword [esi]
test ecx, ecx
je 0x488a50
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x10], ecx
cmp dword [edx], ebp
je 0x4b0ffd
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00496eef
add esp, 4
jmp 0x488a50
inc ebp
jmp 0x488a80
cmp si, 0x39
ja 0x488abb
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
push ebx
lea eax, [esp + 0x1c]
call fcn.004891d0
cmp al, 1
jne 0x4b1021
mov edi, dword [esp + 0x3c]
lea edx, [esp + 0x14]
push edx
call fcn.004888c0
mov ebp, dword [esp + 0x10]
jmp 0x488c4f
cmp ax, 0x30
jae 0x488e3a
cmp ax, 0x5f
je 0x488cec
cmp dword [esp + 0x24], 0
je 0x4b11d0
lea eax, [esp + 0x20]
call fcn.004886e0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
push esi
push edi
call dword [fcn.00482640]
cmp word [esp + 0x1c], 0x30
jge 0x488e8e
mov edx, 0x33
push 0x10
mov word [esp + 0x20], dx
call fcn.0049731a
add esp, 4
test eax, eax
je 0x4b11c3
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov edi, dword [esp + 0x40]
call fcn.004888c0
cmp word [ebx + ebp*2], 0
jne 0x488a80
mov ax, word [esp + 0x1c]
cmp ax, 0x30
jl 0x488c6f
cmp ax, 0x3f
jle 0x488e6d
mov edi, dword [esp + 0x3c]
lea ecx, [esp + 0x14]
mov eax, 0x7f
push ecx
mov word [esp + 0x20], ax
mov dword [esp + 0x18], 0
mov word [esp + 0x22], bp
call fcn.004888c0
mov esi, dword [esp + 0x2c]
add dword [esi], 0xffffffff
jne 0x488cb3
mov edx, dword [esp + 0x20]
push edx
call fcn.00496eef
add esp, 4
push esi
call fcn.00496eef
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x28
ret 8
lea esi, [esp + 0x20]
inc ebp
call fcn.00489370
movzx eax, word [ebx + ebp*2]
cmp ax, 0x5a
ja 0x488cd8
cmp ax, 0x41
jae 0x488cec
cmp ax, 0x61
jb 0x488bc8
cmp ax, 0x7a
ja 0x488bc8
push eax
lea eax, [esp + 0x24]
call fcn.00489070
inc ebp
jmp 0x488cc8
cmp si, 0x5a
ja 0x488acf
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
mov ecx, ebx
call fcn.00488770
cmp dword [esp + 0x14], 0xffffffff
je 0x4b11fe
mov edi, dword [esp + 0x3c]
lea eax, [esp + 0x14]
push eax
call fcn.004888c0
mov ebp, dword [esp + 0x10]
jmp 0x488c4f
inc ebp
cmp word [ebx + ebp*2], 0x3d
lea esi, [esp + 0x14]
je 0x4b1199
mov edi, 0x41
call fcn.00488700
jmp 0x488c41
mov edi, 0x48
lea esi, [esp + 0x14]
call fcn.00488700
mov edi, dword [esp + 0x3c]
push esi
call fcn.004888c0
inc ebp
jmp 0x488c4f
mov edi, 0x47
lea esi, [esp + 0x14]
call fcn.00488700
mov edi, dword [esp + 0x3c]
push esi
call fcn.004888c0
inc ebp
jmp 0x488c4f
mov edx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x24]
lea edi, [esp + 0x14]
call fcn.00489130
lea esi, [esp + 0x14]
test eax, eax
jne 0x4b128a
lea edi, [eax + 0x36]
call fcn.00488700
lea esi, [esp + 0x20]
lea edi, [esp + 0x14]
call fcn.00488250
push edi
mov edi, dword [esp + 0x40]
call fcn.004888c0
mov ebp, dword [esp + 0x10]
jmp 0x488c4f
cmp ax, 0x39
jbe 0x488cec
jmp 0x488bd2
mov esi, dword [esp + 0x14]
test esi, esi
je 0x488c6f
mov ecx, esi
call fcn.00488220
push esi
call fcn.00496eef
add esp, 4
jmp 0x488c6f
cmp word [esp + 0x1c], 0x3f
jg 0x488c0c
jmp 0x4b11a9
cmp si, 0x7a
jbe 0x488d03
jmp 0x488ad9
mov dword [esp + 0x2c], ebp
jmp 0x488a2b
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.00496eef
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
add esp, 4
push eax
call fcn.00496eef
add esp, 4
jmp 0x488b55
mov ebp, dword [esp + 0x10]
cmp si, 0x2e
jne 0x488ac5
lea esi, [esp + 0x20]
inc ebp
call fcn.00489370
movzx eax, word [ebx + ebp*2]
cmp ax, 0x41
jb 0x4b1051
cmp ax, 0x5a
jbe 0x4b10ae
cmp ax, 0x61
jb 0x4b1065
cmp ax, 0x7a
jbe 0x4b10ae
cmp ax, 0x30
jb 0x4b1079
cmp ax, 0x39
jbe 0x4b10ae
cmp ax, 0x5f
je 0x4b10ae
cmp dword [esp + 0x24], 0
je 0x4b11d0
mov edi, 0x35
lea esi, [esp + 0x14]
call fcn.00488700
lea esi, [esp + 0x20]
lea edi, [esp + 0x14]
call fcn.00488250
jmp 0x488c41
push eax
lea eax, [esp + 0x24]
call fcn.00489070
inc ebp
jmp 0x4b1039
mov edi, 0x50
call fcn.00488700
inc ebp
jmp 0x488c41
cmp dword [esp + 0x14], 0
je 0x488c0c
mov ecx, dword [esp + 0x14]
push ecx
call 0x4c92f6
jmp 0x488c0c
mov dword [esp + 0x14], 0
jmp 0x488c41
mov ecx, dword [esp + 0x38]
dec ebp
push ebp
push 0x138b
push ecx
call 0x4e5ba9
lea ecx, [esp + 0x20]
call fcn.00488220
lea edx, [esp + 0x14]
push edx
call 0x4d1053
mov eax, 1
jmp 0x488cb5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
push eax
push 0x138c
push ecx
call 0x4e5ba9
lea ecx, [esp + 0x20]
call fcn.00488220
lea edx, [esp + 0x14]
push edx
call 0x4d1053
mov eax, 1
jmp 0x488cb5
mov edx, dword [esp + 0x38]
push ebp
push 0x1388
push edx
call 0x4e5ba9
mov edi, 0x7f
lea esi, [esp + 0x14]
call fcn.00488700
mov edi, dword [esp + 0x3c]
push esi
call fcn.004888c0
lea ecx, [esp + 0x20]
call fcn.00488220
lea ecx, [esp + 0x14]
push ecx
call 0x4d1053
mov eax, 1
jmp 0x488cb5
mov edi, 0x7f
call fcn.00488700
mov edi, dword [esp + 0x3c]
lea edx, [esp + 0x14]
push edx
call fcn.004888c0
lea ecx, [esp + 0x20]
call fcn.00488220
lea eax, [esp + 0x14]
push eax
call 0x4d1053
mov eax, 1
jmp 0x488cb5