Function at 0x43a0b0
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 0x43a16e
cmp ecx, 0x7c
je 0x43a16e
cmp ecx, 0x29
jne 0x43a175
cmp dword [esi + 0x10], 0
jne 0x43a16e
cmp ecx, ecx
jne 0x43a175
test dword [esi + 0x50], 0x10000000
je 0x43a61f
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x43a10c
test dword [edi], 0x10000000
je 0x43a626
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0043bd30
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x43a152
cmp byte [eax], 0x5c
jne 0x43a150
inc eax
cmp eax, ecx
je 0x43a150
mov edx, dword [edi]
test dl, 8
jne 0x43a13f
mov cl, byte [eax]
cmp cl, 0x28
je 0x43a14e
cmp cl, 0x29
je 0x43a14e
test dl, 0x10
jne 0x43a150
mov al, byte [eax]
cmp al, 0x7b
je 0x43a14e
cmp al, 0x7d
jne 0x43a150
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00437e00
mov ecx, esi
call fcn.0043bb00
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x43a0c7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x2e
jne 0x43a231
push 0x14
call fcn.00440649
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 0x43a1cb
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]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x43a152
cmp byte [eax], 0x5c
jne 0x43a229
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x43a227
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x43a207
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x43a21c
cmp cl, 0x29
je 0x43a21c
mov ecx, eax
test bl, 0x10
jne 0x43a227
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x43a21c
mov edx, ecx
cmp bl, 0x7d
jne 0x43a227
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x43a152
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x43a152
cmp ecx, 0x5c
jne 0x43a3de
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x43a287
cmp byte [eax], cl
jne 0x43a284
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x43a282
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x43a268
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x43a27d
cmp cl, 0x29
je 0x43a27d
mov ecx, eax
test bl, 0x10
jne 0x43a282
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x43a27d
mov edx, ecx
cmp bl, 0x7d
jne 0x43a282
lea eax, [edx + 1]
jmp 0x43a284
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00437e00
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x43a367
cmp byte [esi + 0x48], 0x62
jne 0x43a367
push 0x14
call fcn.00440649
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 0x43a2f3
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]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x43a5d7
cmp byte [eax], 0x5c
jne 0x43a358
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x43a356
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x43a32f
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x43a344
cmp cl, 0x29
je 0x43a344
mov ecx, eax
test bl, 0x10
jne 0x43a356
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x43a344
mov edx, ecx
cmp bl, 0x7d
jne 0x43a356
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.00437e00
jmp 0x43a160
mov eax, ecx
inc eax
mov ecx, esi
mov dword [esi], eax
call fcn.00437e00
jmp 0x43a160
test eax, eax
je 0x43a3d2
cmp byte [esi + 0x48], 0x42
jne 0x43a3d2
push 0x14
call fcn.00440649
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 0x43a3be
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 0x43a59d
mov ecx, esi
call fcn.0043b810
jmp 0x43a159
cmp ecx, 0x5b
jne 0x43a47c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x43a421
cmp byte [eax], 0x5c
jne 0x43a41f
inc eax
cmp eax, ecx
je 0x43a41f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x43a40e
mov cl, byte [eax]
cmp cl, 0x28
je 0x43a41d
cmp cl, 0x29
je 0x43a41d
test dl, 0x10
jne 0x43a41f
mov al, byte [eax]
cmp al, 0x7b
je 0x43a41d
cmp al, 0x7d
jne 0x43a41f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00437e00
mov ecx, esi
call fcn.0043b6d0
cmp dword [esi + 0x4c], 0x5d
jne 0x43a626
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x43a152
cmp byte [eax], 0x5c
jne 0x43a150
inc eax
cmp eax, ecx
je 0x43a150
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x43a474
mov dl, byte [eax]
cmp dl, 0x28
je 0x43a14e
cmp dl, 0x29
je 0x43a14e
test cl, 0x10
jmp 0x43a142
cmp ecx, 0x28
jne 0x43a527
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x43a4bf
cmp byte [eax], 0x5c
jne 0x43a4bd
inc eax
cmp eax, ecx
je 0x43a4bd
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x43a4ac
mov dl, byte [eax]
cmp dl, 0x28
je 0x43a4bb
cmp dl, 0x29
je 0x43a4bb
test cl, 0x10
jne 0x43a4bd
mov al, byte [eax]
cmp al, 0x7b
je 0x43a4bb
cmp al, 0x7d
jne 0x43a4bd
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00437e00
mov ecx, esi
call fcn.0043b960
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x43a61f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x43a513
cmp byte [eax], 0x5c
jne 0x43a511
inc eax
cmp eax, ecx
je 0x43a511
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x43a500
mov dl, byte [eax]
cmp dl, 0x28
je 0x43a50f
cmp dl, 0x29
je 0x43a50f
test cl, 0x10
jne 0x43a511
mov al, byte [eax]
cmp al, 0x7b
je 0x43a50f
cmp al, 0x7d
jne 0x43a511
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00437e00
test bl, bl
je 0x43a160
jmp 0x43a159
cmp ecx, 0x5e
jne 0x43a53e
push 0x14
call fcn.00440649
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x43a557
cmp ecx, 0x24
jne 0x43a5e3
push 0x14
call fcn.00440649
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 0x43a594
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 + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x43a5d7
cmp byte [eax], 0x5c
jne 0x43a5d5
inc eax
cmp eax, ecx
je 0x43a5d5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x43a5c4
mov dl, byte [eax]
cmp dl, 0x28
je 0x43a5d3
cmp dl, 0x29
je 0x43a5d3
test cl, 0x10
jne 0x43a5d5
mov al, byte [eax]
cmp al, 0x7b
je 0x43a5d3
cmp al, 0x7d
jne 0x43a5d5
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00437e00
jmp 0x43a160
cmp ecx, 0x2a
je 0x43a611
cmp ecx, 0x2b
je 0x43a611
cmp ecx, 0x3f
je 0x43a611
cmp ecx, 0x7b
je 0x43a611
cmp ecx, 0x7d
jne 0x43a0f8
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x43a618
jmp 0x43a10c
push 0xa
call fcn.00437df0
push 6
call fcn.00437df0
push 5
call fcn.00437df0
push 4
call fcn.00437df0
int3