Function at 0x415540
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x4159ed
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x4159ed
cmp eax, 0x29
jne 0x415580
cmp dword [esi + 0x10], 0
jne 0x4159ed
test dword [esi + 0x50], 0x10000000
je 0x4159fa
jmp 0x415980
cmp eax, 0x2e
jne 0x4155d5
push 5
lea ecx, [esi + 0x24]
call fcn.00415a10
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4159ce
cmp word [eax], 0x5c
jne 0x4157b3
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4157b3
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4155cd
movzx edx, word [ecx]
cmp edx, 0x28
je 0x4157b1
cmp edx, 0x29
je 0x4157b1
test bl, 0x10
jmp 0x4157a2
cmp eax, 0x5c
jne 0x415709
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415621
cmp word [eax], 0x5c
jne 0x41561c
lea ecx, [eax + 2]
cmp ecx, edx
je 0x41561c
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x415608
movzx edx, word [ecx]
cmp edx, 0x28
je 0x41561a
cmp edx, 0x29
je 0x41561a
test bl, 0x10
jne 0x41561c
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x41561a
cmp edx, 0x7d
jne 0x41561c
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004142c0
test byte [esi + 0x50], 0x80
je 0x4156fd
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x415696
push 4
lea ecx, [esi + 0x24]
call fcn.00415a10
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41568a
cmp word [eax], 0x5c
jne 0x415685
lea ecx, [eax + 2]
cmp ecx, edx
je 0x415685
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x415671
movzx edx, word [ecx]
cmp edx, 0x28
je 0x415683
cmp edx, 0x29
je 0x415683
test bl, 0x10
jne 0x415685
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x415683
cmp edx, 0x7d
jne 0x415685
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004142c0
jmp 0x4159df
cmp ecx, 0x42
jne 0x4156fd
push 4
lea ecx, [esi + 0x24]
call fcn.00415a10
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4156f1
cmp word [eax], 0x5c
jne 0x4156ec
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4156ec
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4156d8
movzx eax, word [ecx]
cmp eax, 0x28
je 0x4156ea
cmp eax, 0x29
je 0x4156ea
mov eax, dword [esi]
test dl, 0x10
jne 0x4156ec
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x4156ea
cmp edx, 0x7d
jne 0x4156ec
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004142c0
jmp 0x4159df
mov ecx, esi
call fcn.00416630
jmp 0x4159d5
cmp eax, 0x5b
jne 0x4157bd
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415757
cmp word [eax], 0x5c
jne 0x415752
lea ecx, [eax + 2]
cmp ecx, edx
je 0x415752
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41573e
movzx eax, word [ecx]
cmp eax, 0x28
je 0x415750
cmp eax, 0x29
je 0x415750
mov eax, dword [esi]
test dl, 0x10
jne 0x415752
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x415750
cmp edx, 0x7d
jne 0x415752
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004142c0
mov ecx, esi
call fcn.00416550
cmp dword [esi + 0x4c], 0x5d
jne 0x415a08
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4159ce
cmp word [eax], 0x5c
jne 0x4157b3
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4157b3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41579f
movzx eax, word [ecx]
cmp eax, 0x28
je 0x4157b1
cmp eax, 0x29
je 0x4157b1
mov eax, dword [esi]
test dl, 0x10
jne 0x4157b3
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x4157b1
cmp edx, 0x7d
jne 0x4157b3
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x4159ce
cmp eax, 0x28
jne 0x41587e
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41580b
cmp word [eax], 0x5c
jne 0x415806
lea ecx, [eax + 2]
cmp ecx, edx
je 0x415806
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4157f2
movzx eax, word [ecx]
cmp eax, 0x28
je 0x415804
cmp eax, 0x29
je 0x415804
mov eax, dword [esi]
test dl, 0x10
jne 0x415806
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x415804
cmp edx, 0x7d
jne 0x415806
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004142c0
mov ecx, esi
call fcn.004167c0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4159fa
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41586a
cmp word [eax], 0x5c
jne 0x415865
lea ecx, [eax + 2]
cmp ecx, edx
je 0x415865
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x415851
movzx eax, word [ecx]
cmp eax, 0x28
je 0x415863
cmp eax, 0x29
je 0x415863
mov eax, dword [esi]
test dl, 0x10
jne 0x415865
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x415863
cmp edx, 0x7d
jne 0x415865
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004142c0
test bl, bl
je 0x4159df
jmp 0x4159d5
cmp eax, 0x5e
jne 0x4158da
push 2
lea ecx, [esi + 0x24]
call fcn.00415a10
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4158ce
cmp word [eax], 0x5c
jne 0x4158cb
add eax, 2
cmp eax, ecx
je 0x4158cb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4158b7
movzx edx, word [eax]
cmp edx, 0x28
je 0x4158c9
cmp edx, 0x29
je 0x4158c9
test cl, 0x10
jne 0x4158cb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4158c9
cmp ecx, 0x7d
jne 0x4158cb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004142c0
jmp 0x4159df
cmp eax, 0x24
jne 0x415936
push 3
lea ecx, [esi + 0x24]
call fcn.00415a10
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41592a
cmp word [eax], 0x5c
jne 0x415927
add eax, 2
cmp eax, ecx
je 0x415927
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415913
movzx edx, word [eax]
cmp edx, 0x28
je 0x415925
cmp edx, 0x29
je 0x415925
test cl, 0x10
jne 0x415927
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x415925
cmp ecx, 0x7d
jne 0x415927
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004142c0
jmp 0x4159df
cmp eax, 0x2a
je 0x4159f3
cmp eax, 0x2b
je 0x4159f3
cmp eax, 0x3f
je 0x4159f3
cmp eax, 0x7b
je 0x4159f3
cmp eax, 0x7d
jne 0x41596e
test dword [esi + 0x50], 0x10000000
je 0x415a01
jmp 0x415980
cmp eax, 0x5d
jne 0x415980
test dword [esi + 0x50], 0x10000000
je 0x415a08
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00416b90
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4159ce
cmp word [eax], 0x5c
jne 0x4159cb
add eax, 2
cmp eax, ecx
je 0x4159cb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4159b7
movzx edx, word [eax]
cmp edx, 0x28
je 0x4159c9
cmp edx, 0x29
je 0x4159c9
test cl, 0x10
jne 0x4159cb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4159c9
cmp ecx, 0x7d
jne 0x4159cb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004142c0
mov ecx, esi
call fcn.00416960
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x415556
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.004142b0
push 5
call fcn.004142b0
push 6
call fcn.004142b0
push 4
call fcn.004142b0
int3