Function at 0x41aa00
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x41ac24
mov ecx, dword [edi + 0x40]
cmp ecx, 0x7c
je 0x41ac24
xor ebx, ebx
cmp ecx, 0x29
jne 0x41aa46
cmp dword [edi + 0x10], ebx
jne 0x41ac24
mov eax, 0x10000000
test dword [edi + 0x44], eax
jne 0x41aa4b
push 5
call fcn.00526c15
add esp, 4
jmp 0x41ac11
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x41aae8
push 0x14
call fcn.0052747b
add esp, 4
cmp eax, ebx
je 0x41aa7a
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x41aa7c
xor eax, eax
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebx
je 0x41aa98
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [edi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x1c], eax
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41aadc
cmp byte [eax], 0x5c
jne 0x41aada
inc eax
cmp eax, ecx
je 0x41aac6
test byte [edi + 0x44], 8
jne 0x41aac6
mov cl, byte [eax]
cmp cl, 0x28
je 0x41aad8
cmp cl, 0x29
je 0x41aad8
test byte [edi + 0x44], 0x10
jne 0x41aada
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41aad8
cmp cl, 0x7d
jne 0x41aada
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00419f10
jmp 0x41ac11
cmp ecx, 0x5c
jne 0x41ab8f
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41ab2c
cmp byte [eax], 0x5c
jne 0x41ab2a
inc eax
cmp eax, ecx
je 0x41ab16
test byte [edi + 0x44], 8
jne 0x41ab16
mov cl, byte [eax]
cmp cl, 0x28
je 0x41ab28
cmp cl, 0x29
je 0x41ab28
test byte [edi + 0x44], 0x10
jne 0x41ab2a
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ab28
cmp cl, 0x7d
jne 0x41ab2a
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00419f10
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x41ab59
cmp byte [edi + 0x3e], 0x62
jne 0x41ab59
push 4
lea esi, [edi + 0x18]
call fcn.0041ae40
mov eax, edi
call fcn.0041a9b0
jmp 0x41ac18
cmp eax, ebx
je 0x41ab83
cmp byte [edi + 0x3e], 0x42
jne 0x41ab83
push 4
lea esi, [edi + 0x18]
call fcn.0041ae40
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
add eax, 8
mov eax, edi
call fcn.0041a9b0
jmp 0x41ac18
mov eax, edi
call fcn.0041b8c0
jmp 0x41ac11
cmp ecx, 0x5b
jne 0x41abeb
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41abcf
cmp byte [eax], 0x5c
jne 0x41abcd
inc eax
cmp eax, ecx
je 0x41abb9
test byte [edi + 0x44], 8
jne 0x41abb9
mov cl, byte [eax]
cmp cl, 0x28
je 0x41abcb
cmp cl, 0x29
je 0x41abcb
test byte [edi + 0x44], 0x10
jne 0x41abcd
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41abcb
cmp cl, 0x7d
jne 0x41abcd
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00419f10
call fcn.0041b850
push 0x5d
mov ecx, 4
mov eax, edi
call fcn.0041b7f0
jmp 0x41ac11
cmp ecx, 0x28
jne 0x41ac28
mov eax, edi
call fcn.0041a9b0
push edi
call fcn.0041b970
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.0041b7f0
test bl, bl
je 0x41ac18
mov eax, edi
call fcn.0041ba60
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x41aa11
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x41ac40
push 2
lea esi, [edi + 0x18]
call fcn.0041ae40
mov eax, edi
call fcn.0041a9b0
jmp 0x41ac18
cmp ecx, 0x24
jne 0x41ac58
push 3
lea esi, [edi + 0x18]
call fcn.0041ae40
mov eax, edi
call fcn.0041a9b0
jmp 0x41ac18
cmp ecx, 0x2a
je 0x41acb4
cmp ecx, 0x2b
je 0x41acb4
cmp ecx, 0x3f
je 0x41acb4
cmp ecx, 0x7b
je 0x41acb4
cmp ecx, 0x7d
jne 0x41ac82
test dword [edi + 0x44], eax
jne 0x41ac82
push 6
call fcn.00526c15
add esp, 4
jmp 0x41ac11
cmp ecx, 0x5d
jne 0x41ac9b
test dword [edi + 0x44], eax
jne 0x41ac9b
push 4
call fcn.00526c15
add esp, 4
jmp 0x41ac11
movzx edx, byte [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.0041bb90
mov eax, edi
call fcn.0041a9b0
jmp 0x41ac11
push 0xa
call fcn.00526c15
add esp, 4
jmp 0x41ac11