Function at 0x4419c0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor al, al
push edi
mov ecx, dword [esi + 0x4c]
cmp ecx, 0xffffffff
je 0x441a8b
cmp ecx, 0x7c
je 0x441a8b
cmp ecx, 0x29
jne 0x441a92
cmp dword [esi + 0x10], 0
jne 0x441a8b
cmp ecx, ecx
jne 0x441a92
test dword [esi + 0x50], 0x10000000
je 0x441f7c
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x441a1c
test dword [edi], 0x10000000
je 0x441f83
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00442df0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x441a6f
cmp word [ecx], 0x5c
jne 0x441a6c
add ecx, 2
cmp ecx, eax
je 0x441a6c
mov edx, dword [edi]
test dl, 8
jne 0x441a55
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x441a69
cmp edi, 0x29
je 0x441a69
test dl, 0x10
jne 0x441a6c
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x441a69
cmp ecx, 0x7d
jne 0x441a6c
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00440910
mov ecx, esi
call fcn.00442bc0
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x4419d7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x2e
jne 0x441b5a
push 0x14
call fcn.00470c26
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x441ae8
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x441a6f
cmp word [ecx], 0x5c
jne 0x441b50
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x441b4e
mov eax, dword [esi + 0x50]
test al, 8
jne 0x441b2a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x441b41
cmp edx, 0x29
je 0x441b41
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x441b4e
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x441b41
mov edi, edx
cmp ebx, 0x7d
jne 0x441b4e
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x441a6f
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x441a6f
cmp ecx, 0x5c
jne 0x441d20
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x441bbb
cmp word [ecx], 0x5c
jne 0x441bb6
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x441bb4
mov eax, dword [esi + 0x50]
test al, 8
jne 0x441b98
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x441baf
cmp edx, 0x29
je 0x441baf
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x441bb4
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x441baf
mov edi, edx
cmp ebx, 0x7d
jne 0x441bb4
lea ecx, [edi + 2]
jmp 0x441bb6
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
mov ecx, esi
call fcn.00440910
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x441ca8
cmp word [esi + 0x48], 0x62
jne 0x441ca8
push 0x14
call fcn.00470c26
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x441c28
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x441f34
cmp word [ecx], 0x5c
jne 0x441c97
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x441c95
mov eax, dword [esi + 0x50]
test al, 8
jne 0x441c6a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x441c81
cmp edx, 0x29
je 0x441c81
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x441c95
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x441c81
mov edi, edx
cmp ebx, 0x7d
jne 0x441c95
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.00440910
jmp 0x441a7d
mov ecx, edx
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.00440910
jmp 0x441a7d
test eax, eax
je 0x441d14
cmp word [esi + 0x48], 0x42
jne 0x441d14
push 0x14
call fcn.00470c26
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x441d00
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov eax, ecx
mov dword [esi + 0x28], ecx
xor dword [eax + 8], 1
jmp 0x441eed
mov ecx, esi
call fcn.00442920
jmp 0x441a76
cmp ecx, 0x5b
jne 0x441db2
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x441d70
cmp word [ecx], 0x5c
jne 0x441d6d
add ecx, 2
cmp ecx, eax
je 0x441d6d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x441d56
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x441d6a
cmp edi, 0x29
je 0x441d6a
test dl, 0x10
jne 0x441d6d
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x441d6a
cmp ecx, 0x7d
jne 0x441d6d
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00440910
mov ecx, esi
call fcn.004427d0
cmp dword [esi + 0x4c], 0x5d
jne 0x441f83
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x441a6f
cmp word [ecx], 0x5c
jne 0x441a6c
add ecx, 2
cmp ecx, eax
je 0x441a6c
mov edx, dword [esi + 0x50]
jmp 0x441a41
cmp ecx, 0x28
jne 0x441e77
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x441e02
cmp word [ecx], 0x5c
jne 0x441dff
add ecx, 2
cmp ecx, eax
je 0x441dff
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x441de8
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x441dfc
cmp edi, 0x29
je 0x441dfc
test dl, 0x10
jne 0x441dff
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x441dfc
cmp ecx, 0x7d
jne 0x441dff
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00440910
mov ecx, esi
call fcn.00442a70
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x441f7c
mov ecx, dword [esi]
mov edx, dword [esi + 8]
cmp ecx, edx
je 0x441e63
cmp word [ecx], 0x5c
jne 0x441e60
add ecx, 2
cmp ecx, edx
je 0x441e60
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x441e49
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x441e5d
cmp edi, 0x29
je 0x441e5d
test dl, 0x10
jne 0x441e60
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x441e5d
cmp ecx, 0x7d
jne 0x441e60
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00440910
test bl, bl
je 0x441a7d
jmp 0x441a76
cmp ecx, 0x5e
jne 0x441e8e
push 0x14
call fcn.00470c26
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x441ea7
cmp ecx, 0x24
jne 0x441f40
push 0x14
call fcn.00470c26
mov ecx, eax
mov dword [ecx + 4], 3
mov dword [ecx], vtable.std::_Node_base.0
add esp, 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x441ee4
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi]
cmp ecx, eax
je 0x441f34
cmp word [ecx], 0x5c
jne 0x441f31
add ecx, 2
cmp ecx, eax
je 0x441f31
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x441f1a
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x441f2e
cmp edi, 0x29
je 0x441f2e
test dl, 0x10
jne 0x441f31
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x441f2e
cmp ecx, 0x7d
jne 0x441f31
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00440910
jmp 0x441a7d
cmp ecx, 0x2a
je 0x441f6e
cmp ecx, 0x2b
je 0x441f6e
cmp ecx, 0x3f
je 0x441f6e
cmp ecx, 0x7b
je 0x441f6e
cmp ecx, 0x7d
jne 0x441a08
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x441f75
jmp 0x441a1c
push 0xa
call fcn.00440900
push 6
call fcn.00440900
push 5
call fcn.00440900
push 4
call fcn.00440900
int3