Function at 0x43d8e0
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 0x43d9ab
cmp ecx, 0x7c
je 0x43d9ab
cmp ecx, 0x29
jne 0x43d9b2
cmp dword [esi + 0x10], 0
jne 0x43d9ab
cmp ecx, ecx
jne 0x43d9b2
test dword [esi + 0x50], 0x10000000
je 0x43de9c
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x43d93c
test dword [edi], 0x10000000
je 0x43dea3
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0043ece0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x43d98f
cmp word [ecx], 0x5c
jne 0x43d98c
add ecx, 2
cmp ecx, eax
je 0x43d98c
mov edx, dword [edi]
test dl, 8
jne 0x43d975
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x43d989
cmp edi, 0x29
je 0x43d989
test dl, 0x10
jne 0x43d98c
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x43d989
cmp ecx, 0x7d
jne 0x43d98c
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0043cd00
mov ecx, esi
call fcn.0043eab0
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x43d8f7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x2e
jne 0x43da7a
push 0x14
call fcn.0046baaa
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 0x43da08
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 0x43d98f
cmp word [ecx], 0x5c
jne 0x43da70
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x43da6e
mov eax, dword [esi + 0x50]
test al, 8
jne 0x43da4a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x43da61
cmp edx, 0x29
je 0x43da61
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x43da6e
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x43da61
mov edi, edx
cmp ebx, 0x7d
jne 0x43da6e
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x43d98f
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x43d98f
cmp ecx, 0x5c
jne 0x43dc40
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x43dadb
cmp word [ecx], 0x5c
jne 0x43dad6
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x43dad4
mov eax, dword [esi + 0x50]
test al, 8
jne 0x43dab8
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x43dacf
cmp edx, 0x29
je 0x43dacf
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x43dad4
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x43dacf
mov edi, edx
cmp ebx, 0x7d
jne 0x43dad4
lea ecx, [edi + 2]
jmp 0x43dad6
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
mov ecx, esi
call fcn.0043cd00
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x43dbc8
cmp word [esi + 0x48], 0x62
jne 0x43dbc8
push 0x14
call fcn.0046baaa
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 0x43db48
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 0x43de54
cmp word [ecx], 0x5c
jne 0x43dbb7
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x43dbb5
mov eax, dword [esi + 0x50]
test al, 8
jne 0x43db8a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x43dba1
cmp edx, 0x29
je 0x43dba1
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x43dbb5
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x43dba1
mov edi, edx
cmp ebx, 0x7d
jne 0x43dbb5
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.0043cd00
jmp 0x43d99d
mov ecx, edx
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.0043cd00
jmp 0x43d99d
test eax, eax
je 0x43dc34
cmp word [esi + 0x48], 0x42
jne 0x43dc34
push 0x14
call fcn.0046baaa
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 0x43dc20
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 0x43de0d
mov ecx, esi
call fcn.0043e810
jmp 0x43d996
cmp ecx, 0x5b
jne 0x43dcd2
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x43dc90
cmp word [ecx], 0x5c
jne 0x43dc8d
add ecx, 2
cmp ecx, eax
je 0x43dc8d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43dc76
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x43dc8a
cmp edi, 0x29
je 0x43dc8a
test dl, 0x10
jne 0x43dc8d
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x43dc8a
cmp ecx, 0x7d
jne 0x43dc8d
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0043cd00
mov ecx, esi
call fcn.0043e6c0
cmp dword [esi + 0x4c], 0x5d
jne 0x43dea3
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x43d98f
cmp word [ecx], 0x5c
jne 0x43d98c
add ecx, 2
cmp ecx, eax
je 0x43d98c
mov edx, dword [esi + 0x50]
jmp 0x43d961
cmp ecx, 0x28
jne 0x43dd97
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x43dd22
cmp word [ecx], 0x5c
jne 0x43dd1f
add ecx, 2
cmp ecx, eax
je 0x43dd1f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43dd08
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x43dd1c
cmp edi, 0x29
je 0x43dd1c
test dl, 0x10
jne 0x43dd1f
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x43dd1c
cmp ecx, 0x7d
jne 0x43dd1f
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0043cd00
mov ecx, esi
call fcn.0043e960
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x43de9c
mov ecx, dword [esi]
mov edx, dword [esi + 8]
cmp ecx, edx
je 0x43dd83
cmp word [ecx], 0x5c
jne 0x43dd80
add ecx, 2
cmp ecx, edx
je 0x43dd80
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43dd69
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x43dd7d
cmp edi, 0x29
je 0x43dd7d
test dl, 0x10
jne 0x43dd80
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x43dd7d
cmp ecx, 0x7d
jne 0x43dd80
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0043cd00
test bl, bl
je 0x43d99d
jmp 0x43d996
cmp ecx, 0x5e
jne 0x43ddae
push 0x14
call fcn.0046baaa
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x43ddc7
cmp ecx, 0x24
jne 0x43de60
push 0x14
call fcn.0046baaa
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 0x43de04
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 0x43de54
cmp word [ecx], 0x5c
jne 0x43de51
add ecx, 2
cmp ecx, eax
je 0x43de51
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43de3a
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x43de4e
cmp edi, 0x29
je 0x43de4e
test dl, 0x10
jne 0x43de51
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x43de4e
cmp ecx, 0x7d
jne 0x43de51
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0043cd00
jmp 0x43d99d
cmp ecx, 0x2a
je 0x43de8e
cmp ecx, 0x2b
je 0x43de8e
cmp ecx, 0x3f
je 0x43de8e
cmp ecx, 0x7b
je 0x43de8e
cmp ecx, 0x7d
jne 0x43d928
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x43de95
jmp 0x43d93c
push 0xa
call fcn.0043ccf0
push 6
call fcn.0043ccf0
push 5
call fcn.0043ccf0
push 4
call fcn.0043ccf0
int3