Function at 0x423520
Capabilities:
Parse credit card information

Disassembly:
push esi
push edi
mov esi, ecx
xor edi, edi
xor al, al
cmp dword [esi + 0x40], 0xffffffff
je 0x423832
push ebx
mov ecx, dword [esi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x423831
cmp ecx, 0x29
jne 0x423566
cmp dword [esi + 0x10], edi
jne 0x423831
test dword [esi + 0x44], edx
jne 0x423566
push 5
call fcn.0048cb0d
add esp, 4
jmp 0x42381e
cmp ecx, 0x2e
jne 0x423603
push 0x14
call fcn.00472036
add esp, 4
cmp eax, edi
je 0x423595
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
jmp 0x423597
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, edi
je 0x4235b3
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [esi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4235f7
cmp byte [eax], 0x5c
jne 0x4235f5
inc eax
cmp eax, ecx
je 0x4235e1
test byte [esi + 0x44], 8
jne 0x4235e1
mov cl, byte [eax]
cmp cl, 0x28
je 0x4235f3
cmp cl, 0x29
je 0x4235f3
test byte [esi + 0x44], 0x10
jne 0x4235f5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4235f3
cmp cl, 0x7d
jne 0x4235f5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041e1b0
jmp 0x42381e
cmp ecx, 0x5c
jne 0x423719
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x423647
cmp byte [eax], 0x5c
jne 0x423645
inc eax
cmp eax, ecx
je 0x423631
test byte [esi + 0x44], 8
jne 0x423631
mov cl, byte [eax]
cmp cl, 0x28
je 0x423643
cmp cl, 0x29
je 0x423643
test byte [esi + 0x44], 0x10
jne 0x423645
mov cl, byte [eax]
cmp cl, 0x7b
je 0x423643
cmp cl, 0x7d
jne 0x423645
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041e1b0
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x4236ad
cmp byte [esi + 0x3e], 0x62
jne 0x4236ad
lea ecx, [esi + 0x18]
call fcn.0041d700
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4236a1
cmp byte [eax], 0x5c
jne 0x42369f
inc eax
cmp eax, ecx
je 0x42368b
test byte [esi + 0x44], 8
jne 0x42368b
mov cl, byte [eax]
cmp cl, 0x28
je 0x42369d
cmp cl, 0x29
je 0x42369d
test byte [esi + 0x44], 0x10
jne 0x42369f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x42369d
cmp cl, 0x7d
jne 0x42369f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041e1b0
jmp 0x423825
cmp eax, edi
je 0x42370d
cmp byte [esi + 0x3e], 0x42
jne 0x42370d
lea ecx, [esi + 0x18]
call fcn.0041d700
mov eax, dword [esi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x423701
cmp byte [eax], 0x5c
jne 0x4236ff
inc eax
cmp eax, ecx
je 0x4236eb
test byte [esi + 0x44], 8
jne 0x4236eb
mov cl, byte [eax]
cmp cl, 0x28
je 0x4236fd
cmp cl, 0x29
je 0x4236fd
test byte [esi + 0x44], 0x10
jne 0x4236ff
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4236fd
cmp cl, 0x7d
jne 0x4236ff
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041e1b0
jmp 0x423825
mov ecx, esi
call fcn.00422220
jmp 0x42381e
cmp ecx, 0x5b
jne 0x4237bf
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x42375d
cmp byte [eax], 0x5c
jne 0x42375b
inc eax
cmp eax, ecx
je 0x423747
test byte [esi + 0x44], 8
jne 0x423747
mov cl, byte [eax]
cmp cl, 0x28
je 0x423759
cmp cl, 0x29
je 0x423759
test byte [esi + 0x44], 0x10
jne 0x42375b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x423759
cmp cl, 0x7d
jne 0x42375b
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041e1b0
mov ecx, esi
call fcn.00423380
cmp dword [esi + 0x40], 0x5d
je 0x42377b
push 4
call fcn.0048cb0d
add esp, 4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4237b6
cmp byte [eax], 0x5c
jne 0x4237b4
inc eax
cmp eax, ecx
je 0x4237a0
test byte [esi + 0x44], 8
jne 0x4237a0
mov cl, byte [eax]
cmp cl, 0x28
je 0x4237b2
cmp cl, 0x29
je 0x4237b2
test byte [esi + 0x44], 0x10
jne 0x4237b4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4237b2
cmp cl, 0x7d
jne 0x4237b4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041e1b0
jmp 0x42381e
cmp ecx, 0x28
jne 0x423835
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4237ff
cmp byte [eax], 0x5c
jne 0x4237fd
inc eax
cmp eax, ecx
je 0x4237e9
test byte [esi + 0x44], 8
jne 0x4237e9
mov cl, byte [eax]
cmp cl, 0x28
je 0x4237fb
cmp cl, 0x29
je 0x4237fb
test byte [esi + 0x44], 0x10
jne 0x4237fd
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4237fb
cmp cl, 0x7d
jne 0x4237fd
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041e1b0
mov ecx, esi
call fcn.0041e410
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0041e3a0
test bl, bl
je 0x423825
mov ecx, esi
call fcn.004222d0
cmp dword [esi + 0x40], 0xffffffff
mov al, 1
jne 0x423533
pop ebx
pop edi
pop esi
ret
cmp ecx, 0x5e
jne 0x42384b
lea ecx, [esi + 0x18]
call fcn.0041d640
mov ecx, esi
call fcn.0041e360
jmp 0x423825
cmp ecx, 0x24
jne 0x423861
lea ecx, [esi + 0x18]
call fcn.0041d6a0
mov ecx, esi
call fcn.0041e360
jmp 0x423825
cmp ecx, 0x2a
je 0x4238bd
cmp ecx, 0x2b
je 0x4238bd
cmp ecx, 0x3f
je 0x4238bd
cmp ecx, 0x7b
je 0x4238bd
cmp ecx, 0x7d
jne 0x42388b
test dword [esi + 0x44], edx
jne 0x42388b
push 6
call fcn.0048cb0d
add esp, 4
jmp 0x42381e
cmp ecx, 0x5d
jne 0x4238a4
test dword [esi + 0x44], edx
jne 0x4238a4
push 4
call fcn.0048cb0d
add esp, 4
jmp 0x42381e
movzx edx, byte [esi + 0x3e]
lea ecx, [esi + 0x18]
push edx
call fcn.00421740
mov ecx, esi
call fcn.0041e360
jmp 0x42381e
push 0xa
call fcn.0048cb0d
add esp, 4
jmp 0x42381e