Function at 0x444bc0
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 0x444c8b
cmp ecx, 0x7c
je 0x444c8b
cmp ecx, 0x29
jne 0x444c92
cmp dword [esi + 0x10], 0
jne 0x444c8b
cmp ecx, ecx
jne 0x444c92
test dword [esi + 0x50], 0x10000000
je 0x44517c
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x444c1c
test dword [edi], 0x10000000
je 0x445183
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004460f0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x444c6f
cmp word [ecx], 0x5c
jne 0x444c6c
add ecx, 2
cmp ecx, eax
je 0x444c6c
mov edx, dword [edi]
test dl, 8
jne 0x444c55
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x444c69
cmp edi, 0x29
je 0x444c69
test dl, 0x10
jne 0x444c6c
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x444c69
cmp ecx, 0x7d
jne 0x444c6c
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00443ae0
mov ecx, esi
call fcn.00445ec0
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x444bd7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x2e
jne 0x444d5a
push 0x14
call fcn.00474a76
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 0x444ce8
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 0x444c6f
cmp word [ecx], 0x5c
jne 0x444d50
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x444d4e
mov eax, dword [esi + 0x50]
test al, 8
jne 0x444d2a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x444d41
cmp edx, 0x29
je 0x444d41
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x444d4e
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x444d41
mov edi, edx
cmp ebx, 0x7d
jne 0x444d4e
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x444c6f
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x444c6f
cmp ecx, 0x5c
jne 0x444f20
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x444dbb
cmp word [ecx], 0x5c
jne 0x444db6
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x444db4
mov eax, dword [esi + 0x50]
test al, 8
jne 0x444d98
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x444daf
cmp edx, 0x29
je 0x444daf
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x444db4
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x444daf
mov edi, edx
cmp ebx, 0x7d
jne 0x444db4
lea ecx, [edi + 2]
jmp 0x444db6
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
mov ecx, esi
call fcn.00443ae0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x444ea8
cmp word [esi + 0x48], 0x62
jne 0x444ea8
push 0x14
call fcn.00474a76
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 0x444e28
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 0x445134
cmp word [ecx], 0x5c
jne 0x444e97
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x444e95
mov eax, dword [esi + 0x50]
test al, 8
jne 0x444e6a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x444e81
cmp edx, 0x29
je 0x444e81
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x444e95
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x444e81
mov edi, edx
cmp ebx, 0x7d
jne 0x444e95
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.00443ae0
jmp 0x444c7d
mov ecx, edx
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.00443ae0
jmp 0x444c7d
test eax, eax
je 0x444f14
cmp word [esi + 0x48], 0x42
jne 0x444f14
push 0x14
call fcn.00474a76
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 0x444f00
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 0x4450ed
mov ecx, esi
call fcn.00445b10
jmp 0x444c76
cmp ecx, 0x5b
jne 0x444fb2
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x444f70
cmp word [ecx], 0x5c
jne 0x444f6d
add ecx, 2
cmp ecx, eax
je 0x444f6d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x444f56
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x444f6a
cmp edi, 0x29
je 0x444f6a
test dl, 0x10
jne 0x444f6d
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x444f6a
cmp ecx, 0x7d
jne 0x444f6d
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00443ae0
mov ecx, esi
call fcn.004459c0
cmp dword [esi + 0x4c], 0x5d
jne 0x445183
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x444c6f
cmp word [ecx], 0x5c
jne 0x444c6c
add ecx, 2
cmp ecx, eax
je 0x444c6c
mov edx, dword [esi + 0x50]
jmp 0x444c41
cmp ecx, 0x28
jne 0x445077
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x445002
cmp word [ecx], 0x5c
jne 0x444fff
add ecx, 2
cmp ecx, eax
je 0x444fff
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x444fe8
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x444ffc
cmp edi, 0x29
je 0x444ffc
test dl, 0x10
jne 0x444fff
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x444ffc
cmp ecx, 0x7d
jne 0x444fff
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00443ae0
mov ecx, esi
call fcn.00445c60
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x44517c
mov ecx, dword [esi]
mov edx, dword [esi + 8]
cmp ecx, edx
je 0x445063
cmp word [ecx], 0x5c
jne 0x445060
add ecx, 2
cmp ecx, edx
je 0x445060
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x445049
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x44505d
cmp edi, 0x29
je 0x44505d
test dl, 0x10
jne 0x445060
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x44505d
cmp ecx, 0x7d
jne 0x445060
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00443ae0
test bl, bl
je 0x444c7d
jmp 0x444c76
cmp ecx, 0x5e
jne 0x44508e
push 0x14
call fcn.00474a76
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x4450a7
cmp ecx, 0x24
jne 0x445140
push 0x14
call fcn.00474a76
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 0x4450e4
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 0x445134
cmp word [ecx], 0x5c
jne 0x445131
add ecx, 2
cmp ecx, eax
je 0x445131
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x44511a
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x44512e
cmp edi, 0x29
je 0x44512e
test dl, 0x10
jne 0x445131
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x44512e
cmp ecx, 0x7d
jne 0x445131
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00443ae0
jmp 0x444c7d
cmp ecx, 0x2a
je 0x44516e
cmp ecx, 0x2b
je 0x44516e
cmp ecx, 0x3f
je 0x44516e
cmp ecx, 0x7b
je 0x44516e
cmp ecx, 0x7d
jne 0x444c08
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x445175
jmp 0x444c1c
push 0xa
call fcn.00443ad0
push 6
call fcn.00443ad0
push 5
call fcn.00443ad0
push 4
call fcn.00443ad0
int3