Function at 0x419110
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], 0xffff
je 0x41941d
jmp 0x419132
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x41941d
cmp ecx, 0x29
jne 0x419165
cmp dword [edi + 0x10], ebx
jne 0x41941d
test dword [edi + 0x44], edx
jne 0x419165
push 5
call fcn.0042d69b
add esp, 4
jmp 0x419407
cmp ecx, 0x2e
jne 0x419208
push 0x14
call fcn.0042ec5c
add esp, 4
cmp eax, ebx
je 0x419194
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 0x419196
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 0x4191b2
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 0x4191fc
cmp word [eax], 0x5c
jne 0x4191f9
add eax, 2
cmp eax, ecx
je 0x4191e4
test byte [edi + 0x44], 8
jne 0x4191e4
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4191f7
cmp ecx, 0x29
je 0x4191f7
test byte [edi + 0x44], 0x10
jne 0x4191f9
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4191f7
cmp ecx, 0x7d
jne 0x4191f9
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00417fc0
jmp 0x419407
cmp ecx, 0x5c
jne 0x4192f1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x419252
cmp word [eax], 0x5c
jne 0x41924f
add eax, 2
cmp eax, ecx
je 0x41923a
test byte [edi + 0x44], 8
jne 0x41923a
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41924d
cmp ecx, 0x29
je 0x41924d
test byte [edi + 0x44], 0x10
jne 0x41924f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41924d
cmp ecx, 0x7d
jne 0x41924f
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00417fc0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x4192bf
cmp word [edi + 0x3e], 0x62
jne 0x4192bf
lea esi, [edi + 0x18]
call fcn.0041a510
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4192b3
cmp word [eax], 0x5c
jne 0x4192b0
add eax, 2
cmp eax, ecx
je 0x41929b
test byte [edi + 0x44], 8
jne 0x41929b
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4192ae
cmp ecx, 0x29
je 0x4192ae
test byte [edi + 0x44], 0x10
jne 0x4192b0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4192ae
cmp ecx, 0x7d
jne 0x4192b0
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00417fc0
jmp 0x41940e
cmp eax, ebx
je 0x4192e5
cmp word [edi + 0x3e], 0x42
jne 0x4192e5
lea esi, [edi + 0x18]
call fcn.0041a510
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.004190c0
jmp 0x41940e
mov eax, edi
call fcn.0041a1b0
jmp 0x419407
cmp ecx, 0x5b
jne 0x41939f
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41933b
cmp word [eax], 0x5c
jne 0x419338
add eax, 2
cmp eax, ecx
je 0x419323
test byte [edi + 0x44], 8
jne 0x419323
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x419336
cmp ecx, 0x29
je 0x419336
test byte [edi + 0x44], 0x10
jne 0x419338
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x419336
cmp ecx, 0x7d
jne 0x419338
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00417fc0
call fcn.0041a100
cmp dword [edi + 0x40], 0x5d
je 0x419357
push 4
call fcn.0042d69b
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x419398
cmp word [eax], 0x5c
jne 0x419395
add eax, 2
cmp eax, ecx
je 0x419380
test byte [edi + 0x44], 8
jne 0x419380
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x419393
cmp ecx, 0x29
je 0x419393
test byte [edi + 0x44], 0x10
jne 0x419395
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x419393
cmp ecx, 0x7d
jne 0x419395
mov dword [edi], eax
add dword [edi], 2
call fcn.00417fc0
jmp 0x419407
cmp ecx, 0x28
jne 0x419421
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4193e5
cmp word [eax], 0x5c
jne 0x4193e2
add eax, 2
cmp eax, ecx
je 0x4193cd
test byte [edi + 0x44], 8
jne 0x4193cd
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4193e0
cmp ecx, 0x29
je 0x4193e0
test byte [edi + 0x44], 0x10
jne 0x4193e2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4193e0
cmp ecx, 0x7d
jne 0x4193e2
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00417fc0
mov eax, edi
call fcn.0041a280
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.0041a090
test bl, bl
je 0x41940e
mov eax, edi
call fcn.0041a330
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x419130
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x419437
lea esi, [edi + 0x18]
call fcn.0041a470
mov eax, edi
call fcn.004190c0
jmp 0x41940e
cmp ecx, 0x24
jne 0x41944d
lea esi, [edi + 0x18]
call fcn.0041a4c0
mov eax, edi
call fcn.004190c0
jmp 0x41940e
cmp ecx, 0x2a
je 0x4194a9
cmp ecx, 0x2b
je 0x4194a9
cmp ecx, 0x3f
je 0x4194a9
cmp ecx, 0x7b
je 0x4194a9
cmp ecx, 0x7d
jne 0x419477
test dword [edi + 0x44], edx
jne 0x419477
push 6
call fcn.0042d69b
add esp, 4
jmp 0x419407
cmp ecx, 0x5d
jne 0x419490
test dword [edi + 0x44], edx
jne 0x419490
push 4
call fcn.0042d69b
add esp, 4
jmp 0x419407
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.0041a560
mov eax, edi
call fcn.004190c0
jmp 0x419407
push 0xa
call fcn.0042d69b
add esp, 4
jmp 0x419407