Function at 0x415bc0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x4160ec
lea edi, [esi + 8]
nop dword [eax]
cmp eax, 0x7c
je 0x4160ec
cmp eax, 0x29
jne 0x415c0a
cmp dword [esi + 0x10], 0
jne 0x4160ec
test dword [esi + 0x50], 0x10000000
je 0x4160fc
jmp 0x41607d
cmp eax, 0x2e
jne 0x415c80
push 5
lea ecx, [esi + 0x24]
call fcn.00416120
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4160cd
cmp word [eax], 0x5c
jne 0x415e96
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x415c74
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x415c51
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x415c67
cmp ecx, 0x29
je 0x415c67
mov ecx, eax
test bl, 0x10
jne 0x415c74
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x415c67
mov edx, ecx
cmp edi, 0x7d
jne 0x415c74
lea eax, [edx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x4160cd
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x4160cd
cmp eax, 0x5c
jne 0x415de5
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415cda
cmp word [eax], 0x5c
jne 0x415cd5
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x415cd3
test byte [esi + 0x50], 8
jne 0x415cb7
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x415cce
cmp ecx, 0x29
je 0x415cce
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x415cd3
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x415cce
mov edx, ecx
cmp ebx, 0x7d
jne 0x415cd3
lea eax, [edx + 2]
jmp 0x415cd5
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414910
test byte [esi + 0x50], 0x80
je 0x415dd9
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x415d6c
push 4
lea ecx, [esi + 0x24]
call fcn.00416120
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415d60
cmp word [eax], 0x5c
jne 0x415d5b
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x415d59
test byte [esi + 0x50], 8
jne 0x415d2e
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x415d45
cmp ecx, 0x29
je 0x415d45
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x415d59
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x415d45
mov edx, ecx
cmp ebx, 0x7d
jne 0x415d59
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.00414910
jmp 0x4160de
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414910
jmp 0x4160de
cmp ecx, 0x42
jne 0x415dd9
push 4
lea ecx, [esi + 0x24]
call fcn.00416120
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x415dcd
cmp word [eax], 0x5c
jne 0x415dc8
lea ebx, [eax + 2]
cmp ebx, ecx
je 0x415dc8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415db1
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x28
je 0x415dc5
cmp edx, 0x29
je 0x415dc5
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x415dc8
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x7b
je 0x415dc5
cmp edx, 0x7d
jne 0x415dc8
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414910
jmp 0x4160de
mov ecx, esi
call fcn.00416d80
jmp 0x4160d4
cmp eax, 0x5b
jne 0x415ea0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x415e36
cmp word [eax], 0x5c
jne 0x415e31
lea edx, [eax + 2]
cmp edx, ecx
je 0x415e31
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x415e1a
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x415e2e
cmp edi, 0x29
je 0x415e2e
test bl, 0x10
jne 0x415e31
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x415e2e
cmp edx, 0x7d
jne 0x415e31
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414910
mov ecx, esi
call fcn.00416c90
cmp dword [esi + 0x4c], 0x5d
jne 0x41610a
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4160cd
cmp word [eax], 0x5c
jne 0x415e96
lea edx, [eax + 2]
cmp edx, ecx
je 0x415e96
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x415e7f
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x415e93
cmp edi, 0x29
je 0x415e93
test bl, 0x10
jne 0x415e96
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x415e93
cmp edx, 0x7d
jne 0x415e96
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x4160cd
cmp eax, 0x28
jne 0x415f73
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x415ef4
cmp word [eax], 0x5c
jne 0x415eef
lea edx, [eax + 2]
cmp edx, ecx
je 0x415eef
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415ed8
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x415eec
cmp ebx, 0x29
je 0x415eec
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x415eef
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x415eec
cmp edx, 0x7d
jne 0x415eef
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414910
mov ecx, esi
call fcn.00416f10
cmp dword [esi + 0x4c], 0x29
mov byte [esp + 0x13], al
jne 0x4160fc
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x415f5c
cmp word [eax], 0x5c
jne 0x415f57
lea edx, [eax + 2]
cmp edx, ecx
je 0x415f57
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415f40
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x415f54
cmp ebx, 0x29
je 0x415f54
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x415f57
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x415f54
cmp edx, 0x7d
jne 0x415f57
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414910
cmp byte [esp + 0x13], 0
je 0x4160de
jmp 0x4160d4
cmp eax, 0x5e
jne 0x415fd3
push 2
lea ecx, [esi + 0x24]
call fcn.00416120
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x415fc7
cmp word [eax], 0x5c
jne 0x415fc4
add eax, 2
cmp eax, ecx
je 0x415fc4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415faf
movzx edx, word [eax]
cmp edx, 0x28
je 0x415fc1
cmp edx, 0x29
je 0x415fc1
test cl, 0x10
jne 0x415fc4
movzx eax, word [eax]
cmp eax, 0x7b
je 0x415fc1
cmp eax, 0x7d
jne 0x415fc4
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00414910
jmp 0x4160de
cmp eax, 0x24
jne 0x416033
push 3
lea ecx, [esi + 0x24]
call fcn.00416120
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x416027
cmp word [eax], 0x5c
jne 0x416024
add eax, 2
cmp eax, ecx
je 0x416024
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41600f
movzx edx, word [eax]
cmp edx, 0x28
je 0x416021
cmp edx, 0x29
je 0x416021
test cl, 0x10
jne 0x416024
movzx eax, word [eax]
cmp eax, 0x7b
je 0x416021
cmp eax, 0x7d
jne 0x416024
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00414910
jmp 0x4160de
cmp eax, 0x2a
je 0x4160f5
cmp eax, 0x2b
je 0x4160f5
cmp eax, 0x3f
je 0x4160f5
cmp eax, 0x7b
je 0x4160f5
cmp eax, 0x7d
jne 0x41606b
test dword [esi + 0x50], 0x10000000
je 0x416103
jmp 0x41607d
cmp eax, 0x5d
jne 0x41607d
test dword [esi + 0x50], 0x10000000
je 0x41610a
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00417310
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4160cd
cmp word [eax], 0x5c
jne 0x4160ca
add eax, 2
cmp eax, ecx
je 0x4160ca
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4160b5
movzx edx, word [eax]
cmp edx, 0x28
je 0x4160c7
cmp edx, 0x29
je 0x4160c7
test cl, 0x10
jne 0x4160ca
movzx eax, word [eax]
cmp eax, 0x7b
je 0x4160c7
cmp eax, 0x7d
jne 0x4160ca
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00414910
mov ecx, esi
call fcn.004170e0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x415be0
pop edi
pop esi
mov al, cl
pop ebx
add esp, 8
ret
push 0xa
call fcn.00414900
push 5
call fcn.00414900
push 6
call fcn.00414900
push 4
call fcn.00414900
int3