Function at 0x451640
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x45195b
nop dword [eax]
cmp eax, 0x7c
je 0x45195b
cmp eax, 0x29
jne 0x4516cd
cmp dword [esi + 0x10], 0
jne 0x45195b
test dword [esi + 0x50], 0x10000000
je 0x451979
cmp eax, 0x5d
jne 0x451697
test dword [esi + 0x50], 0x10000000
je 0x45196b
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004524c0
mov ecx, esi
call fcn.004515e0
mov eax, dword [esi + 0x4c]
xor ebx, ebx
or edi, 0xffffffff
cmp eax, 0x2a
je 0x451912
cmp eax, 0x2b
jne 0x451896
lea ebx, [edi + 2]
jmp 0x451912
cmp eax, 0x2e
jne 0x4516de
push 5
lea ecx, [esi + 0x24]
call fcn.00451990
jmp 0x4516a4
cmp eax, 0x5c
jne 0x45173b
mov ecx, esi
call fcn.004515e0
test byte [esi + 0x50], 0x80
je 0x45172f
cmp byte [esi + 0x48], 0x62
jne 0x45170c
push 4
lea ecx, [esi + 0x24]
call fcn.00451990
mov ecx, esi
call fcn.004515e0
jmp 0x45194d
cmp byte [esi + 0x48], 0x42
jne 0x45172f
push 4
lea ecx, [esi + 0x24]
call fcn.00451990
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.004515e0
jmp 0x45194d
mov ecx, esi
call fcn.00452200
jmp 0x4516ab
cmp eax, 0x5b
jne 0x4517ee
mov ecx, esi
call fcn.004515e0
lea ecx, [esi + 0x24]
call fcn.004534c0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x45176c
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.004515e0
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x4517d8
cmp eax, 0x5d
jne 0x4517d8
test dword [esi + 0x2c], 0x100
mov bl, al
je 0x451796
mov eax, dword [esi + 0x30]
push 0x5d
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov bl, al
mov edi, dword [esi + 0x28]
mov ecx, dword [edi + 0x18]
test ecx, ecx
jne 0x4517bc
push 0x20
call fcn.00489209
xorps xmm0, xmm0
mov dword [ebp - 8], eax
add esp, 4
mov ecx, eax
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
mov dword [edi + 0x18], eax
movzx edx, bl
mov eax, edx
and edx, 7
shr eax, 3
add ecx, eax
movzx eax, byte [ecx]
bts eax, edx
mov byte [ecx], al
mov ecx, esi
call fcn.004515e0
mov ecx, esi
call fcn.00452f80
cmp dword [esi + 0x4c], 0x5d
jne 0x45196b
jmp 0x4516a4
cmp eax, 0x28
jne 0x451821
mov ecx, esi
call fcn.004515e0
mov ecx, esi
call fcn.004523b0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x451979
mov ecx, esi
call fcn.004515e0
test bl, bl
je 0x45194d
jmp 0x4516ab
cmp eax, 0x5e
jne 0x45183c
push 2
lea ecx, [esi + 0x24]
call fcn.00451990
mov ecx, esi
call fcn.004515e0
jmp 0x45194d
cmp eax, 0x24
jne 0x451857
push 3
lea ecx, [esi + 0x24]
call fcn.00451990
mov ecx, esi
call fcn.004515e0
jmp 0x45194d
cmp eax, 0x2a
je 0x451964
cmp eax, 0x2b
je 0x451964
cmp eax, 0x3f
je 0x451964
cmp eax, 0x7b
je 0x451964
cmp eax, 0x7d
jne 0x451685
test dword [esi + 0x50], 0x10000000
je 0x451972
jmp 0x451697
cmp eax, 0x3f
jne 0x4518a0
lea edi, [eax - 0x3e]
jmp 0x451912
cmp eax, 0x7b
jne 0x45194d
mov ecx, esi
call fcn.004515e0
push 0x7fffffff
push 0xa
mov ecx, esi
call fcn.00453c30
cmp eax, 0x7fffffff
je 0x451980
mov eax, dword [esi + 0x4c]
mov ebx, dword [esi + 0x44]
cmp eax, 0x2c
je 0x4518d8
mov edi, ebx
jmp 0x451904
mov ecx, esi
call fcn.004515e0
cmp dword [esi + 0x4c], 0x7d
je 0x451912
push 0x7fffffff
push 0xa
mov ecx, esi
call fcn.00453c30
cmp eax, 0x7fffffff
je 0x451980
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x4c]
cmp eax, 0x7d
jne 0x451980
cmp edi, 0xffffffff
je 0x451912
cmp edi, ebx
jl 0x451980
mov eax, dword [esi + 0x28]
mov ecx, esi
or dword [eax + 8], 4
call fcn.004515e0
test dword [esi + 0x50], 0x400
je 0x45193c
cmp dword [esi + 0x4c], 0x3f
jne 0x45193c
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004515e0
jmp 0x451940
mov byte [ebp - 4], 1
push dword [ebp - 4]
lea ecx, [esi + 0x24]
push edi
push ebx
call fcn.00453560
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x451660
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.00450b30
push 4
call fcn.00450b30
push 6
call fcn.00450b30
push 5
call fcn.00450b30
push 7
call fcn.00450b30
int3