Function at 0x4849e0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x484d5e
push ebx
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x484d5d
cmp eax, 0x29
jne 0x484a18
cmp dword [esi + 0x10], 0
jne 0x484d5d
test dword [esi + 0x50], 0x10000000
je 0x484d62
cmp eax, 0x2e
jne 0x484aca
push 0x14
call fcn.004e48e7
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x484a55
mov dword [ecx], 0x522370
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x484a57
xor ecx, ecx
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x484a73
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x484abe
cmp word [eax], 0x5c
jne 0x484abb
add eax, 2
cmp eax, ecx
je 0x484abb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x484aa7
movzx edx, word [eax]
cmp edx, 0x28
je 0x484ab9
cmp edx, 0x29
je 0x484ab9
test cl, 0x10
jne 0x484abb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x484ab9
cmp ecx, 0x7d
jne 0x484abb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00487ca0
jmp 0x484d4a
cmp eax, 0x5c
jne 0x484bb9
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x484b15
cmp word [eax], 0x5c
jne 0x484b12
add eax, 2
cmp eax, ecx
je 0x484b12
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x484afe
movzx edx, word [eax]
cmp edx, 0x28
je 0x484b10
cmp edx, 0x29
je 0x484b10
test cl, 0x10
jne 0x484b12
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x484b10
cmp ecx, 0x7d
jne 0x484b12
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00487ca0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x484b85
cmp word [esi + 0x48], 0x62
jne 0x484b85
lea ecx, [esi + 0x24]
push 4
call fcn.00487790
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x484b79
cmp word [eax], 0x5c
jne 0x484b76
add eax, 2
cmp eax, ecx
je 0x484b76
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x484b62
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x484b74
cmp ecx, 0x29
je 0x484b74
test dl, 0x10
jne 0x484b76
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x484b74
cmp ecx, 0x7d
jne 0x484b76
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00487ca0
jmp 0x484d51
test eax, eax
je 0x484bad
cmp word [esi + 0x48], 0x42
jne 0x484bad
lea ecx, [esi + 0x24]
push 4
call fcn.00487790
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.00487800
jmp 0x484d51
mov ecx, esi
call fcn.00484d80
jmp 0x484d4a
cmp eax, 0x5b
jne 0x484c6a
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x484c04
cmp word [eax], 0x5c
jne 0x484c01
add eax, 2
cmp eax, ecx
je 0x484c01
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x484bed
movzx edx, word [eax]
cmp edx, 0x28
je 0x484bff
cmp edx, 0x29
je 0x484bff
test cl, 0x10
jne 0x484c01
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x484bff
cmp ecx, 0x7d
jne 0x484c01
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.004853b0
cmp dword [esi + 0x4c], 0x5d
jne 0x484d69
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x484c5e
cmp word [eax], 0x5c
jne 0x484c5b
add eax, 2
cmp eax, ecx
je 0x484c5b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x484c47
movzx edx, word [eax]
cmp edx, 0x28
je 0x484c59
cmp edx, 0x29
je 0x484c59
test cl, 0x10
jne 0x484c5b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x484c59
cmp ecx, 0x7d
jne 0x484c5b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00487ca0
jmp 0x484d4a
cmp eax, 0x28
jne 0x484cd6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x484cb1
cmp word [eax], 0x5c
jne 0x484cae
add eax, 2
cmp eax, ecx
je 0x484cae
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x484c9a
movzx edx, word [eax]
cmp edx, 0x28
je 0x484cac
cmp edx, 0x29
je 0x484cac
test cl, 0x10
jne 0x484cae
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x484cac
cmp ecx, 0x7d
jne 0x484cae
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ec0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.00486a00
test bl, bl
je 0x484d51
jmp 0x484d4a
cmp eax, 0x5e
jne 0x484cee
lea ecx, [esi + 0x24]
push 2
call fcn.00487790
mov ecx, esi
call fcn.00487800
jmp 0x484d51
cmp eax, 0x24
jne 0x484d06
lea ecx, [esi + 0x24]
push 3
call fcn.00487790
mov ecx, esi
call fcn.00487800
jmp 0x484d51
cmp eax, 0x2a
je 0x484d77
cmp eax, 0x2b
je 0x484d77
cmp eax, 0x3f
je 0x484d77
cmp eax, 0x7b
je 0x484d77
cmp eax, 0x7d
jne 0x484d28
test dword [esi + 0x50], 0x10000000
je 0x484d70
cmp eax, 0x5d
jne 0x484d36
test dword [esi + 0x50], 0x10000000
je 0x484d69
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00484040
mov ecx, esi
call fcn.00487800
mov ecx, esi
call fcn.00487850
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x4849f0
pop ebx
mov al, cl
pop esi
ret
push 5
call fcn.004e3ae0
push 4
call fcn.004e3ae0
push 6
call fcn.004e3ae0
push 0xa
call fcn.004e3ae0
int3