Function at 0x404bd0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor ebx, ebx
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x404f2d
jmp 0x404be7
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x404f2d
cmp ecx, 0x29
jne 0x404c1a
cmp dword [edi + 0x10], ebx
jne 0x404f2d
test dword [edi + 0x44], edx
jne 0x404c1a
push 5
call fcn.0040fdf8
add esp, 4
jmp 0x404f1a
cmp ecx, 0x2e
jne 0x404cb7
push 0x14
call fcn.00410f61
add esp, 4
cmp eax, ebx
je 0x404c49
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 0x404c4b
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 0x404c67
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 0x404cab
cmp byte [eax], 0x5c
jne 0x404ca9
inc eax
cmp eax, ecx
je 0x404c95
test byte [edi + 0x44], 8
jne 0x404c95
mov cl, byte [eax]
cmp cl, 0x28
je 0x404ca7
cmp cl, 0x29
je 0x404ca7
test byte [edi + 0x44], 0x10
jne 0x404ca9
mov cl, byte [eax]
cmp cl, 0x7b
je 0x404ca7
cmp cl, 0x7d
jne 0x404ca9
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004034d0
jmp 0x404f1a
cmp ecx, 0x5c
jne 0x404dcd
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x404cfb
cmp byte [eax], 0x5c
jne 0x404cf9
inc eax
cmp eax, ecx
je 0x404ce5
test byte [edi + 0x44], 8
jne 0x404ce5
mov cl, byte [eax]
cmp cl, 0x28
je 0x404cf7
cmp cl, 0x29
je 0x404cf7
test byte [edi + 0x44], 0x10
jne 0x404cf9
mov cl, byte [eax]
cmp cl, 0x7b
je 0x404cf7
cmp cl, 0x7d
jne 0x404cf9
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004034d0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x404d61
cmp byte [edi + 0x3e], 0x62
jne 0x404d61
lea esi, [edi + 0x18]
call fcn.00407080
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x404d55
cmp byte [eax], 0x5c
jne 0x404d53
inc eax
cmp eax, ecx
je 0x404d3f
test byte [edi + 0x44], 8
jne 0x404d3f
mov cl, byte [eax]
cmp cl, 0x28
je 0x404d51
cmp cl, 0x29
je 0x404d51
test byte [edi + 0x44], 0x10
jne 0x404d53
mov cl, byte [eax]
cmp cl, 0x7b
je 0x404d51
cmp cl, 0x7d
jne 0x404d53
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004034d0
jmp 0x404f21
cmp eax, ebx
je 0x404dc1
cmp byte [edi + 0x3e], 0x42
jne 0x404dc1
lea esi, [edi + 0x18]
call fcn.00407080
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x404db5
cmp byte [eax], 0x5c
jne 0x404db3
inc eax
cmp eax, ecx
je 0x404d9f
test byte [edi + 0x44], 8
jne 0x404d9f
mov cl, byte [eax]
cmp cl, 0x28
je 0x404db1
cmp cl, 0x29
je 0x404db1
test byte [edi + 0x44], 0x10
jne 0x404db3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x404db1
cmp cl, 0x7d
jne 0x404db3
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004034d0
jmp 0x404f21
mov eax, edi
call fcn.00406760
jmp 0x404f1a
cmp ecx, 0x5b
jne 0x404e72
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x404e11
cmp byte [eax], 0x5c
jne 0x404e0f
inc eax
cmp eax, ecx
je 0x404dfb
test byte [edi + 0x44], 8
jne 0x404dfb
mov cl, byte [eax]
cmp cl, 0x28
je 0x404e0d
cmp cl, 0x29
je 0x404e0d
test byte [edi + 0x44], 0x10
jne 0x404e0f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x404e0d
cmp cl, 0x7d
jne 0x404e0f
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004034d0
call fcn.00406680
cmp dword [edi + 0x40], 0x5d
je 0x404e2d
push 4
call fcn.0040fdf8
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x404e68
cmp byte [eax], 0x5c
jne 0x404e66
inc eax
cmp eax, ecx
je 0x404e52
test byte [edi + 0x44], 8
jne 0x404e52
mov cl, byte [eax]
cmp cl, 0x28
je 0x404e64
cmp cl, 0x29
je 0x404e64
test byte [edi + 0x44], 0x10
jne 0x404e66
mov cl, byte [eax]
cmp cl, 0x7b
je 0x404e64
cmp cl, 0x7d
jne 0x404e66
mov dword [edi], eax
inc dword [edi]
call fcn.004034d0
jmp 0x404f1a
cmp ecx, 0x28
jne 0x404f31
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x404eb6
cmp byte [eax], 0x5c
jne 0x404eb4
inc eax
cmp eax, ecx
je 0x404ea0
test byte [edi + 0x44], 8
jne 0x404ea0
mov cl, byte [eax]
cmp cl, 0x28
je 0x404eb2
cmp cl, 0x29
je 0x404eb2
test byte [edi + 0x44], 0x10
jne 0x404eb4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x404eb2
cmp cl, 0x7d
jne 0x404eb4
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004034d0
mov eax, edi
call fcn.00406800
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x404ed6
push 5
call fcn.0040fdf8
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x404f11
cmp byte [eax], 0x5c
jne 0x404f0f
inc eax
cmp eax, ecx
je 0x404efb
test byte [edi + 0x44], 8
jne 0x404efb
mov cl, byte [eax]
cmp cl, 0x28
je 0x404f0d
cmp cl, 0x29
je 0x404f0d
test byte [edi + 0x44], 0x10
jne 0x404f0f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x404f0d
cmp cl, 0x7d
jne 0x404f0f
mov dword [edi], eax
inc dword [edi]
call fcn.004034d0
test bl, bl
je 0x404f21
mov eax, edi
call fcn.00406f60
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x404be5
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x404f47
lea esi, [edi + 0x18]
call fcn.004068c0
mov eax, edi
call fcn.00404b80
jmp 0x404f21
cmp ecx, 0x24
jne 0x404f5d
lea esi, [edi + 0x18]
call fcn.00406910
mov eax, edi
call fcn.00404b80
jmp 0x404f21
cmp ecx, 0x2a
je 0x404fb9
cmp ecx, 0x2b
je 0x404fb9
cmp ecx, 0x3f
je 0x404fb9
cmp ecx, 0x7b
je 0x404fb9
cmp ecx, 0x7d
jne 0x404f87
test dword [edi + 0x44], edx
jne 0x404f87
push 6
call fcn.0040fdf8
add esp, 4
jmp 0x404f1a
cmp ecx, 0x5d
jne 0x404fa0
test dword [edi + 0x44], edx
jne 0x404fa0
push 4
call fcn.0040fdf8
add esp, 4
jmp 0x404f1a
movzx edx, byte [edi + 0x3e]
lea ecx, [edi + 0x18]
push edx
call fcn.00406960
mov eax, edi
call fcn.00404b80
jmp 0x404f1a
push 0xa
call fcn.0040fdf8
add esp, 4
jmp 0x404f1a