Function at 0x415df0
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 0x41631c
lea edi, [esi + 8]
nop dword [eax]
cmp eax, 0x7c
je 0x41631c
cmp eax, 0x29
jne 0x415e3a
cmp dword [esi + 0x10], 0
jne 0x41631c
test dword [esi + 0x50], 0x10000000
je 0x41632c
jmp 0x4162ad
cmp eax, 0x2e
jne 0x415eb0
push 5
lea ecx, [esi + 0x24]
call fcn.00416350
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4162fd
cmp word [eax], 0x5c
jne 0x4160c6
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x415ea4
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x415e81
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x415e97
cmp ecx, 0x29
je 0x415e97
mov ecx, eax
test bl, 0x10
jne 0x415ea4
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x415e97
mov edx, ecx
cmp edi, 0x7d
jne 0x415ea4
lea eax, [edx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x4162fd
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x4162fd
cmp eax, 0x5c
jne 0x416015
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415f0a
cmp word [eax], 0x5c
jne 0x415f05
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x415f03
test byte [esi + 0x50], 8
jne 0x415ee7
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x415efe
cmp ecx, 0x29
je 0x415efe
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x415f03
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x415efe
mov edx, ecx
cmp ebx, 0x7d
jne 0x415f03
lea eax, [edx + 2]
jmp 0x415f05
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414b40
test byte [esi + 0x50], 0x80
je 0x416009
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x415f9c
push 4
lea ecx, [esi + 0x24]
call fcn.00416350
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415f90
cmp word [eax], 0x5c
jne 0x415f8b
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x415f89
test byte [esi + 0x50], 8
jne 0x415f5e
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x415f75
cmp ecx, 0x29
je 0x415f75
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x415f89
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x415f75
mov edx, ecx
cmp ebx, 0x7d
jne 0x415f89
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.00414b40
jmp 0x41630e
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414b40
jmp 0x41630e
cmp ecx, 0x42
jne 0x416009
push 4
lea ecx, [esi + 0x24]
call fcn.00416350
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x415ffd
cmp word [eax], 0x5c
jne 0x415ff8
lea ebx, [eax + 2]
cmp ebx, ecx
je 0x415ff8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415fe1
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x28
je 0x415ff5
cmp edx, 0x29
je 0x415ff5
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x415ff8
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x7b
je 0x415ff5
cmp edx, 0x7d
jne 0x415ff8
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414b40
jmp 0x41630e
mov ecx, esi
call fcn.00416fb0
jmp 0x416304
cmp eax, 0x5b
jne 0x4160d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x416066
cmp word [eax], 0x5c
jne 0x416061
lea edx, [eax + 2]
cmp edx, ecx
je 0x416061
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41604a
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x41605e
cmp edi, 0x29
je 0x41605e
test bl, 0x10
jne 0x416061
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x41605e
cmp edx, 0x7d
jne 0x416061
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414b40
mov ecx, esi
call fcn.00416ec0
cmp dword [esi + 0x4c], 0x5d
jne 0x41633a
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4162fd
cmp word [eax], 0x5c
jne 0x4160c6
lea edx, [eax + 2]
cmp edx, ecx
je 0x4160c6
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4160af
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x4160c3
cmp edi, 0x29
je 0x4160c3
test bl, 0x10
jne 0x4160c6
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x4160c3
cmp edx, 0x7d
jne 0x4160c6
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x4162fd
cmp eax, 0x28
jne 0x4161a3
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x416124
cmp word [eax], 0x5c
jne 0x41611f
lea edx, [eax + 2]
cmp edx, ecx
je 0x41611f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x416108
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x41611c
cmp ebx, 0x29
je 0x41611c
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x41611f
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x41611c
cmp edx, 0x7d
jne 0x41611f
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414b40
mov ecx, esi
call fcn.00417140
cmp dword [esi + 0x4c], 0x29
mov byte [esp + 0x13], al
jne 0x41632c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41618c
cmp word [eax], 0x5c
jne 0x416187
lea edx, [eax + 2]
cmp edx, ecx
je 0x416187
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x416170
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x416184
cmp ebx, 0x29
je 0x416184
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x416187
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x416184
cmp edx, 0x7d
jne 0x416187
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00414b40
cmp byte [esp + 0x13], 0
je 0x41630e
jmp 0x416304
cmp eax, 0x5e
jne 0x416203
push 2
lea ecx, [esi + 0x24]
call fcn.00416350
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4161f7
cmp word [eax], 0x5c
jne 0x4161f4
add eax, 2
cmp eax, ecx
je 0x4161f4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4161df
movzx edx, word [eax]
cmp edx, 0x28
je 0x4161f1
cmp edx, 0x29
je 0x4161f1
test cl, 0x10
jne 0x4161f4
movzx eax, word [eax]
cmp eax, 0x7b
je 0x4161f1
cmp eax, 0x7d
jne 0x4161f4
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00414b40
jmp 0x41630e
cmp eax, 0x24
jne 0x416263
push 3
lea ecx, [esi + 0x24]
call fcn.00416350
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x416257
cmp word [eax], 0x5c
jne 0x416254
add eax, 2
cmp eax, ecx
je 0x416254
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41623f
movzx edx, word [eax]
cmp edx, 0x28
je 0x416251
cmp edx, 0x29
je 0x416251
test cl, 0x10
jne 0x416254
movzx eax, word [eax]
cmp eax, 0x7b
je 0x416251
cmp eax, 0x7d
jne 0x416254
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00414b40
jmp 0x41630e
cmp eax, 0x2a
je 0x416325
cmp eax, 0x2b
je 0x416325
cmp eax, 0x3f
je 0x416325
cmp eax, 0x7b
je 0x416325
cmp eax, 0x7d
jne 0x41629b
test dword [esi + 0x50], 0x10000000
je 0x416333
jmp 0x4162ad
cmp eax, 0x5d
jne 0x4162ad
test dword [esi + 0x50], 0x10000000
je 0x41633a
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00417540
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4162fd
cmp word [eax], 0x5c
jne 0x4162fa
add eax, 2
cmp eax, ecx
je 0x4162fa
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4162e5
movzx edx, word [eax]
cmp edx, 0x28
je 0x4162f7
cmp edx, 0x29
je 0x4162f7
test cl, 0x10
jne 0x4162fa
movzx eax, word [eax]
cmp eax, 0x7b
je 0x4162f7
cmp eax, 0x7d
jne 0x4162fa
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00414b40
mov ecx, esi
call fcn.00417310
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x415e10
pop edi
pop esi
mov al, cl
pop ebx
add esp, 8
ret
push 0xa
call fcn.00414b30
push 5
call fcn.00414b30
push 6
call fcn.00414b30
push 4
call fcn.00414b30
int3