Function at 0x447070
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 0x44713b
cmp ecx, 0x7c
je 0x44713b
cmp ecx, 0x29
jne 0x447142
cmp dword [esi + 0x10], 0
jne 0x44713b
cmp ecx, ecx
jne 0x447142
test dword [esi + 0x50], 0x10000000
je 0x44762c
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x4470cc
test dword [edi], 0x10000000
je 0x447633
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00448c80
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x44711f
cmp word [ecx], 0x5c
jne 0x44711c
add ecx, 2
cmp ecx, eax
je 0x44711c
mov edx, dword [edi]
test dl, 8
jne 0x447105
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x447119
cmp edi, 0x29
je 0x447119
test dl, 0x10
jne 0x44711c
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x447119
cmp ecx, 0x7d
jne 0x44711c
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00445de0
mov ecx, esi
call fcn.00448a50
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x447087
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x2e
jne 0x44720a
push 0x14
call fcn.0045096e
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 0x447198
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 0x44711f
cmp word [ecx], 0x5c
jne 0x447200
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x4471fe
mov eax, dword [esi + 0x50]
test al, 8
jne 0x4471da
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x4471f1
cmp edx, 0x29
je 0x4471f1
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x4471fe
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x4471f1
mov edi, edx
cmp ebx, 0x7d
jne 0x4471fe
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x44711f
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x44711f
cmp ecx, 0x5c
jne 0x4473d0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x44726b
cmp word [ecx], 0x5c
jne 0x447266
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x447264
mov eax, dword [esi + 0x50]
test al, 8
jne 0x447248
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x44725f
cmp edx, 0x29
je 0x44725f
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x447264
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x44725f
mov edi, edx
cmp ebx, 0x7d
jne 0x447264
lea ecx, [edi + 2]
jmp 0x447266
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
mov ecx, esi
call fcn.00445de0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x447358
cmp word [esi + 0x48], 0x62
jne 0x447358
push 0x14
call fcn.0045096e
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 0x4472d8
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 0x4475e4
cmp word [ecx], 0x5c
jne 0x447347
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x447345
mov eax, dword [esi + 0x50]
test al, 8
jne 0x44731a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x447331
cmp edx, 0x29
je 0x447331
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x447345
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x447331
mov edi, edx
cmp ebx, 0x7d
jne 0x447345
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.00445de0
jmp 0x44712d
mov ecx, edx
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.00445de0
jmp 0x44712d
test eax, eax
je 0x4473c4
cmp word [esi + 0x48], 0x42
jne 0x4473c4
push 0x14
call fcn.0045096e
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 0x4473b0
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 0x44759d
mov ecx, esi
call fcn.00448700
jmp 0x447126
cmp ecx, 0x5b
jne 0x447462
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x447420
cmp word [ecx], 0x5c
jne 0x44741d
add ecx, 2
cmp ecx, eax
je 0x44741d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x447406
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x44741a
cmp edi, 0x29
je 0x44741a
test dl, 0x10
jne 0x44741d
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x44741a
cmp ecx, 0x7d
jne 0x44741d
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00445de0
mov ecx, esi
call fcn.004485b0
cmp dword [esi + 0x4c], 0x5d
jne 0x447633
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x44711f
cmp word [ecx], 0x5c
jne 0x44711c
add ecx, 2
cmp ecx, eax
je 0x44711c
mov edx, dword [esi + 0x50]
jmp 0x4470f1
cmp ecx, 0x28
jne 0x447527
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x4474b2
cmp word [ecx], 0x5c
jne 0x4474af
add ecx, 2
cmp ecx, eax
je 0x4474af
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x447498
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x4474ac
cmp edi, 0x29
je 0x4474ac
test dl, 0x10
jne 0x4474af
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x4474ac
cmp ecx, 0x7d
jne 0x4474af
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00445de0
mov ecx, esi
call fcn.00448850
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x44762c
mov ecx, dword [esi]
mov edx, dword [esi + 8]
cmp ecx, edx
je 0x447513
cmp word [ecx], 0x5c
jne 0x447510
add ecx, 2
cmp ecx, edx
je 0x447510
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4474f9
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x44750d
cmp edi, 0x29
je 0x44750d
test dl, 0x10
jne 0x447510
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x44750d
cmp ecx, 0x7d
jne 0x447510
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00445de0
test bl, bl
je 0x44712d
jmp 0x447126
cmp ecx, 0x5e
jne 0x44753e
push 0x14
call fcn.0045096e
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x447557
cmp ecx, 0x24
jne 0x4475f0
push 0x14
call fcn.0045096e
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 0x447594
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 0x4475e4
cmp word [ecx], 0x5c
jne 0x4475e1
add ecx, 2
cmp ecx, eax
je 0x4475e1
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4475ca
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x4475de
cmp edi, 0x29
je 0x4475de
test dl, 0x10
jne 0x4475e1
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x4475de
cmp ecx, 0x7d
jne 0x4475e1
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00445de0
jmp 0x44712d
cmp ecx, 0x2a
je 0x44761e
cmp ecx, 0x2b
je 0x44761e
cmp ecx, 0x3f
je 0x44761e
cmp ecx, 0x7b
je 0x44761e
cmp ecx, 0x7d
jne 0x4470b8
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x447625
jmp 0x4470cc
push 0xa
call fcn.00445dd0
push 6
call fcn.00445dd0
push 5
call fcn.00445dd0
push 4
call fcn.00445dd0
int3