Function at 0x10033400
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor al, al
push edi
mov ecx, dword [esi + 0x4c]
cmp ecx, 0xffffffff
je 0x100334cb
cmp ecx, 0x7c
je 0x100334cb
cmp ecx, 0x29
jne 0x100334d2
cmp dword [esi + 0x10], 0
jne 0x100334cb
cmp ecx, ecx
jne 0x100334d2
test dword [esi + 0x50], 0x10000000
je 0x100339bc
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x1003345c
test dword [edi], 0x10000000
je 0x100339c3
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10035750
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x100334af
cmp word [ecx], 0x5c
jne 0x100334ac
add ecx, 2
cmp ecx, eax
je 0x100334ac
mov edx, dword [edi]
test dl, 8
jne 0x10033495
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x100334a9
cmp edi, 0x29
je 0x100334a9
test dl, 0x10
jne 0x100334ac
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x100334a9
cmp ecx, 0x7d
jne 0x100334ac
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.100311b0
mov ecx, esi
call fcn.10035520
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x10033417
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x2e
jne 0x1003359a
push 0x14
call fcn.1005739c
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 eax, dword [eax + 0xc]
test eax, eax
je 0x10033528
mov dword [ecx + 0xc], eax
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]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x100334af
cmp word [ecx], 0x5c
jne 0x10033590
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x1003358e
mov eax, dword [esi + 0x50]
test al, 8
jne 0x1003356a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x10033581
cmp edx, 0x29
je 0x10033581
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x1003358e
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x10033581
mov edi, edx
cmp ebx, 0x7d
jne 0x1003358e
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x100334af
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x100334af
cmp ecx, 0x5c
jne 0x10033760
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x100335fb
cmp word [ecx], 0x5c
jne 0x100335f6
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x100335f4
mov eax, dword [esi + 0x50]
test al, 8
jne 0x100335d8
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x100335ef
cmp edx, 0x29
je 0x100335ef
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x100335f4
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x100335ef
mov edi, edx
cmp ebx, 0x7d
jne 0x100335f4
lea ecx, [edi + 2]
jmp 0x100335f6
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
mov ecx, esi
call fcn.100311b0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x100336e8
cmp word [esi + 0x48], 0x62
jne 0x100336e8
push 0x14
call fcn.1005739c
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 eax, dword [eax + 0xc]
test eax, eax
je 0x10033668
mov dword [ecx + 0xc], eax
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]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x10033974
cmp word [ecx], 0x5c
jne 0x100336d7
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x100336d5
mov eax, dword [esi + 0x50]
test al, 8
jne 0x100336aa
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x100336c1
cmp edx, 0x29
je 0x100336c1
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x100336d5
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x100336c1
mov edi, edx
cmp ebx, 0x7d
jne 0x100336d5
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.100311b0
jmp 0x100334bd
mov ecx, edx
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.100311b0
jmp 0x100334bd
test eax, eax
je 0x10033754
cmp word [esi + 0x48], 0x42
jne 0x10033754
push 0x14
call fcn.1005739c
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 eax, dword [eax + 0xc]
test eax, eax
je 0x10033740
mov dword [ecx + 0xc], eax
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 0x1003392d
mov ecx, esi
call fcn.10035220
jmp 0x100334b6
cmp ecx, 0x5b
jne 0x100337f2
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x100337b0
cmp word [ecx], 0x5c
jne 0x100337ad
add ecx, 2
cmp ecx, eax
je 0x100337ad
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10033796
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x100337aa
cmp edi, 0x29
je 0x100337aa
test dl, 0x10
jne 0x100337ad
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x100337aa
cmp ecx, 0x7d
jne 0x100337ad
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.100311b0
mov ecx, esi
call fcn.100350d0
cmp dword [esi + 0x4c], 0x5d
jne 0x100339c3
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x100334af
cmp word [ecx], 0x5c
jne 0x100334ac
add ecx, 2
cmp ecx, eax
je 0x100334ac
mov edx, dword [esi + 0x50]
jmp 0x10033481
cmp ecx, 0x28
jne 0x100338b7
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x10033842
cmp word [ecx], 0x5c
jne 0x1003383f
add ecx, 2
cmp ecx, eax
je 0x1003383f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10033828
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1003383c
cmp edi, 0x29
je 0x1003383c
test dl, 0x10
jne 0x1003383f
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x1003383c
cmp ecx, 0x7d
jne 0x1003383f
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.100311b0
mov ecx, esi
call fcn.10035370
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x100339bc
mov ecx, dword [esi]
mov edx, dword [esi + 8]
cmp ecx, edx
je 0x100338a3
cmp word [ecx], 0x5c
jne 0x100338a0
add ecx, 2
cmp ecx, edx
je 0x100338a0
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10033889
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1003389d
cmp edi, 0x29
je 0x1003389d
test dl, 0x10
jne 0x100338a0
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x1003389d
cmp ecx, 0x7d
jne 0x100338a0
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.100311b0
test bl, bl
je 0x100334bd
jmp 0x100334b6
cmp ecx, 0x5e
jne 0x100338ce
push 0x14
call fcn.1005739c
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x100338e7
cmp ecx, 0x24
jne 0x10033980
push 0x14
call fcn.1005739c
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 eax, dword [eax + 0xc]
test eax, eax
je 0x10033924
mov dword [ecx + 0xc], eax
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 + 8]
mov ecx, dword [esi]
cmp ecx, eax
je 0x10033974
cmp word [ecx], 0x5c
jne 0x10033971
add ecx, 2
cmp ecx, eax
je 0x10033971
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003395a
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x1003396e
cmp edi, 0x29
je 0x1003396e
test dl, 0x10
jne 0x10033971
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x1003396e
cmp ecx, 0x7d
jne 0x10033971
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.100311b0
jmp 0x100334bd
cmp ecx, 0x2a
je 0x100339ae
cmp ecx, 0x2b
je 0x100339ae
cmp ecx, 0x3f
je 0x100339ae
cmp ecx, 0x7b
je 0x100339ae
cmp ecx, 0x7d
jne 0x10033448
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x100339b5
jmp 0x1003345c
push 0xa
call fcn.100311a0
push 6
call fcn.100311a0
push 5
call fcn.100311a0
push 4
call fcn.100311a0
int3