Function at 0x454230
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x45480d
cmp eax, 0x7c
je 0x45480d
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x454274
cmp dword [esi + 0x10], 0
jne 0x45480d
test dword [esi + 0x50], 0x10000000
je 0x45481d
jmp 0x454799
cmp eax, 0x2e
jne 0x4542e4
push 5
lea ecx, [esi + 0x24]
call fcn.00454120
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4547e9
cmp word [eax], 0x5c
jne 0x4545bd
lea edx, [eax + 2]
cmp edx, ecx
je 0x4545bd
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4542bb
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x4542d7
cmp edi, 0x29
je 0x4542d7
test bl, 0x10
jne 0x4545bd
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x4542d7
cmp edx, 0x7d
jne 0x4545bd
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x4547e9
cmp eax, 0x5c
jne 0x454447
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45433c
cmp word [eax], 0x5c
jne 0x454337
lea edx, [eax + 2]
cmp edx, ecx
je 0x454337
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x454320
movzx ecx, word [edx]
mov dword [ebp - 4], ecx
mov ecx, eax
cmp word [ebp - 4], 0x28
je 0x454334
cmp word [ebp - 4], 0x29
je 0x454334
test bl, 0x10
jne 0x454337
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x454334
cmp edx, 0x7d
jne 0x454337
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0044fc00
test byte [esi + 0x50], 0x80
je 0x45443b
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x4543b9
push 4
lea ecx, [esi + 0x24]
call fcn.00454120
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4543ad
cmp word [eax], 0x5c
jne 0x4543a8
lea edx, [eax + 2]
cmp edx, ecx
je 0x4543a8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x454391
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x4543a5
cmp ebx, 0x29
je 0x4543a5
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x4543a8
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x4543a5
cmp edx, 0x7d
jne 0x4543a8
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0044fc00
jmp 0x4547fa
cmp ecx, 0x42
jne 0x45443b
push 4
lea ecx, [esi + 0x24]
call fcn.00454120
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45442f
cmp word [eax], 0x5c
jne 0x45442a
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x454428
test byte [esi + 0x50], 8
jne 0x4543fd
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x454414
cmp ecx, 0x29
je 0x454414
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x454428
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x454414
mov edx, ecx
cmp ebx, 0x7d
jne 0x454428
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.0044fc00
jmp 0x4547fa
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0044fc00
jmp 0x4547fa
mov ecx, esi
call fcn.00456de0
jmp 0x4547f0
cmp eax, 0x5b
jne 0x4545c7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4544a5
cmp word [eax], 0x5c
jne 0x45449d
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x45449b
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x454480
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x454496
cmp ecx, 0x29
je 0x454496
mov ecx, eax
test bl, 0x10
jne 0x45449b
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x454496
mov edx, ecx
cmp edi, 0x7d
jne 0x45449b
lea eax, [edx + 2]
jmp 0x45449d
mov eax, ecx
add eax, 2
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.0044fc00
lea ebx, [esi + 0x24]
mov ecx, ebx
mov dword [ebp - 4], ebx
call fcn.0045aa30
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x454530
mov eax, dword [esi + 0x28]
mov dword [ebp - 4], ebx
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x454526
cmp word [eax], 0x5c
jne 0x454518
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x454516
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4544fb
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x454511
cmp ecx, 0x29
je 0x454511
mov ecx, eax
test bl, 0x10
jne 0x454516
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x454511
mov edx, ecx
cmp edi, 0x7d
jne 0x454516
lea eax, [edx + 2]
jmp 0x454518
mov eax, ecx
add eax, 2
lea edi, [esi + 8]
mov dword [esi], eax
lea eax, [esi + 0x24]
mov dword [ebp - 4], eax
mov ecx, esi
call fcn.0044fc00
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
lea ebx, [esi + 0x50]
je 0x454554
cmp eax, 0x5d
jne 0x454554
mov ecx, dword [ebp - 4]
push eax
call fcn.0045aad0
mov ecx, esi
call fcn.004541e0
lea ebx, [esi + 0x50]
mov ecx, esi
call fcn.0045a520
cmp dword [esi + 0x4c], 0x5d
jne 0x45482b
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4547e9
cmp word [eax], 0x5c
jne 0x4545bd
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x4545bb
mov ebx, dword [ebx]
test bl, 8
jne 0x454598
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x4545ae
cmp ecx, 0x29
je 0x4545ae
mov ecx, eax
test bl, 0x10
jne 0x4545bb
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x4545ae
mov edx, ecx
cmp edi, 0x7d
jne 0x4545bb
lea eax, [edx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x4547e9
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x4547e9
cmp eax, 0x28
jne 0x454692
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x454621
cmp word [eax], 0x5c
jne 0x45461c
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x45461a
test byte [esi + 0x50], 8
jne 0x4545fe
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x454615
cmp ecx, 0x29
je 0x454615
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x45461a
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x454615
mov edx, ecx
cmp ebx, 0x7d
jne 0x45461a
lea eax, [edx + 2]
jmp 0x45461c
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0044fc00
mov ecx, esi
call fcn.00456f30
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x45481d
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x45467e
cmp word [eax], 0x5c
jne 0x45467b
add eax, 2
cmp eax, ecx
je 0x45467b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x454666
movzx edx, word [eax]
cmp edx, 0x28
je 0x454678
cmp edx, 0x29
je 0x454678
test cl, 0x10
jne 0x45467b
movzx eax, word [eax]
cmp eax, 0x7b
je 0x454678
cmp eax, 0x7d
jne 0x45467b
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0044fc00
test bl, bl
je 0x4547fa
jmp 0x4547f0
cmp eax, 0x5e
jne 0x4546ef
push 2
lea ecx, [esi + 0x24]
call fcn.00454120
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4546e3
cmp word [eax], 0x5c
jne 0x4546e0
add eax, 2
cmp eax, ecx
je 0x4546e0
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4546cb
movzx edx, word [eax]
cmp edx, 0x28
je 0x4546dd
cmp edx, 0x29
je 0x4546dd
test cl, 0x10
jne 0x4546e0
movzx eax, word [eax]
cmp eax, 0x7b
je 0x4546dd
cmp eax, 0x7d
jne 0x4546e0
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0044fc00
jmp 0x4547fa
cmp eax, 0x24
jne 0x45474f
push 3
lea ecx, [esi + 0x24]
call fcn.00454120
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x454743
cmp word [eax], 0x5c
jne 0x454740
add eax, 2
cmp eax, ecx
je 0x454740
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45472b
movzx edx, word [eax]
cmp edx, 0x28
je 0x45473d
cmp edx, 0x29
je 0x45473d
test cl, 0x10
jne 0x454740
movzx eax, word [eax]
cmp eax, 0x7b
je 0x45473d
cmp eax, 0x7d
jne 0x454740
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0044fc00
jmp 0x4547fa
cmp eax, 0x2a
je 0x454816
cmp eax, 0x2b
je 0x454816
cmp eax, 0x3f
je 0x454816
cmp eax, 0x7b
je 0x454816
cmp eax, 0x7d
jne 0x454787
test dword [esi + 0x50], 0x10000000
je 0x454824
jmp 0x454799
cmp eax, 0x5d
jne 0x454799
test dword [esi + 0x50], 0x10000000
je 0x45482b
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004571f0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4547e9
cmp word [eax], 0x5c
jne 0x4547e6
add eax, 2
cmp eax, ecx
je 0x4547e6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4547d1
movzx edx, word [eax]
cmp edx, 0x28
je 0x4547e3
cmp edx, 0x29
je 0x4547e3
test cl, 0x10
jne 0x4547e6
movzx eax, word [eax]
cmp eax, 0x7b
je 0x4547e3
cmp eax, 0x7d
jne 0x4547e6
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0044fc00
mov ecx, esi
call fcn.00457050
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x45480d
cmp eax, 0x7c
jne 0x454253
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.0044f6e0
push 5
call fcn.0044f6e0
push 6
call fcn.0044f6e0
push 4
call fcn.0044f6e0
int3