Function at 0x41e910
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x41e9d0
nop dword [eax + eax]
cmp eax, 0x7c
je 0x41e9d0
cmp eax, 0x29
jne 0x41e9d8
cmp dword [esi + 0x10], 0
jne 0x41e9d0
test dword [esi + 0x50], 0x10000000
je 0x41edaf
cmp eax, 0x5d
jne 0x41e96b
test dword [esi + 0x50], 0x10000000
je 0x41eda1
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041fe30
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x41e9b4
cmp byte [eax], 0x5c
jne 0x41e9b2
inc eax
cmp eax, ecx
je 0x41e9b2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e99f
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e9b0
cmp dl, 0x29
je 0x41e9b0
test cl, 0x10
jne 0x41e9b2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41e9b0
cmp cl, 0x7d
jne 0x41e9b2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041d630
mov ecx, esi
call fcn.0041fc00
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x41e930
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x2e
jne 0x41ea38
push 0x14
call fcn.0046bb69
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 edx, dword [eax + 0xc]
test edx, edx
je 0x41ea2d
mov dword [ecx + 0xc], edx
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
jmp 0x41e978
cmp eax, 0x5c
jne 0x41eba4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41ea7d
cmp byte [eax], 0x5c
jne 0x41ea7b
inc eax
cmp eax, ecx
je 0x41ea7b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41ea68
mov dl, byte [eax]
cmp dl, 0x28
je 0x41ea79
cmp dl, 0x29
je 0x41ea79
test cl, 0x10
jne 0x41ea7b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ea79
cmp cl, 0x7d
jne 0x41ea7b
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041d630
test byte [esi + 0x50], 0x80
je 0x41eb98
cmp byte [esi + 0x48], 0x62
jne 0x41eb31
push 0x14
call fcn.0046bb69
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 edx, dword [eax + 0xc]
test edx, edx
je 0x41eae8
mov dword [ecx + 0xc], edx
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 ecx, dword [esi + 8]
cmp eax, ecx
je 0x41ed63
cmp byte [eax], 0x5c
jne 0x41ed61
inc eax
cmp eax, ecx
je 0x41ed61
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41eb29
mov cl, byte [eax]
cmp cl, 0x28
je 0x41ed5f
cmp cl, 0x29
je 0x41ed5f
test dl, 0x10
jmp 0x41ed51
cmp byte [esi + 0x48], 0x42
jne 0x41eb98
push 0x14
call fcn.0046bb69
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 edx, dword [eax + 0xc]
test edx, edx
je 0x41eb87
mov dword [ecx + 0xc], edx
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 0x41eaee
mov ecx, esi
call fcn.0041f8f0
jmp 0x41e9bb
cmp eax, 0x5b
jne 0x41ec02
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41ebe5
cmp byte [eax], 0x5c
jne 0x41ebe3
inc eax
cmp eax, ecx
je 0x41ebe3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41ebd0
mov dl, byte [eax]
cmp dl, 0x28
je 0x41ebe1
cmp dl, 0x29
je 0x41ebe1
test cl, 0x10
jne 0x41ebe3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ebe1
cmp cl, 0x7d
jne 0x41ebe3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041d630
mov ecx, esi
call fcn.0041f7d0
cmp dword [esi + 0x4c], 0x5d
jne 0x41eda1
jmp 0x41e978
cmp eax, 0x28
jne 0x41ecb1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41ec47
cmp byte [eax], 0x5c
jne 0x41ec45
inc eax
cmp eax, ecx
je 0x41ec45
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41ec32
mov dl, byte [eax]
cmp dl, 0x28
je 0x41ec43
cmp dl, 0x29
je 0x41ec43
test cl, 0x10
jne 0x41ec45
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ec43
cmp cl, 0x7d
jne 0x41ec45
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041d630
mov ecx, esi
call fcn.0041fa40
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41edaf
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41ec9d
cmp byte [eax], 0x5c
jne 0x41ec9b
inc eax
cmp eax, ecx
je 0x41ec9b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41ec88
mov dl, byte [eax]
cmp dl, 0x28
je 0x41ec99
cmp dl, 0x29
je 0x41ec99
test cl, 0x10
jne 0x41ec9b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ec99
cmp cl, 0x7d
jne 0x41ec9b
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041d630
test bl, bl
je 0x41e9c2
jmp 0x41e9bb
cmp eax, 0x5e
jne 0x41ecc8
push 0x14
call fcn.0046bb69
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x41ece1
cmp eax, 0x24
jne 0x41ed6f
push 0x14
call fcn.0046bb69
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 edx, dword [eax + 0xc]
test edx, edx
je 0x41ed21
mov dword [ecx + 0xc], edx
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 0x41ed63
cmp byte [eax], 0x5c
jne 0x41ed61
inc eax
cmp eax, ecx
je 0x41ed61
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41ed4e
mov dl, byte [eax]
cmp dl, 0x28
je 0x41ed5f
cmp dl, 0x29
je 0x41ed5f
test cl, 0x10
jne 0x41ed61
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ed5f
cmp cl, 0x7d
jne 0x41ed61
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041d630
jmp 0x41e9c2
cmp eax, 0x2a
je 0x41ed9a
cmp eax, 0x2b
je 0x41ed9a
cmp eax, 0x3f
je 0x41ed9a
cmp eax, 0x7b
je 0x41ed9a
cmp eax, 0x7d
jne 0x41e959
test dword [esi + 0x50], 0x10000000
je 0x41eda8
jmp 0x41e96b
push 0xa
call fcn.0041d620
push 4
call fcn.0041d620
push 6
call fcn.0041d620
push 5
call fcn.0041d620
int3