Function at 0x4362e0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x436674
push ebx
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x436673
cmp eax, 0x29
jne 0x436318
cmp dword [esi + 0x10], 0
jne 0x436673
test dword [esi + 0x50], 0x10000000
je 0x436678
cmp eax, 0x2e
jne 0x4363c4
push 0x14
call fcn.00466473
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x436355
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x436357
xor ecx, ecx
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x436373
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]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4363b8
cmp byte [eax], 0x5c
jne 0x4363b6
inc eax
cmp eax, ecx
je 0x4363b6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4363a3
mov dl, byte [eax]
cmp dl, 0x28
je 0x4363b4
cmp dl, 0x29
je 0x4363b4
test cl, 0x10
jne 0x4363b6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4363b4
cmp cl, 0x7d
jne 0x4363b6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004390e0
jmp 0x436660
cmp eax, 0x5c
jne 0x4364e1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x436409
cmp byte [eax], 0x5c
jne 0x436407
inc eax
cmp eax, ecx
je 0x436407
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4363f4
mov dl, byte [eax]
cmp dl, 0x28
je 0x436405
cmp dl, 0x29
je 0x436405
test cl, 0x10
jne 0x436407
mov cl, byte [eax]
cmp cl, 0x7b
je 0x436405
cmp cl, 0x7d
jne 0x436407
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004390e0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x436472
cmp byte [esi + 0x48], 0x62
jne 0x436472
push 4
lea ecx, [esi + 0x24]
call fcn.00438ad0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x436466
cmp byte [eax], 0x5c
jne 0x436464
inc eax
cmp eax, ecx
je 0x436464
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x436451
mov cl, byte [eax]
cmp cl, 0x28
je 0x436462
cmp cl, 0x29
je 0x436462
test dl, 0x10
jne 0x436464
mov cl, byte [eax]
cmp cl, 0x7b
je 0x436462
cmp cl, 0x7d
jne 0x436464
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004390e0
jmp 0x436667
test eax, eax
je 0x4364d5
cmp byte [esi + 0x48], 0x42
jne 0x4364d5
push 4
lea ecx, [esi + 0x24]
call fcn.00438ad0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4364c9
cmp byte [eax], 0x5c
jne 0x4364c7
inc eax
cmp eax, ecx
je 0x4364c7
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4364b4
mov cl, byte [eax]
cmp cl, 0x28
je 0x4364c5
cmp cl, 0x29
je 0x4364c5
test dl, 0x10
jne 0x4364c7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4364c5
cmp cl, 0x7d
jne 0x4364c7
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004390e0
jmp 0x436667
mov ecx, esi
call fcn.004366a0
jmp 0x436660
cmp eax, 0x5b
jne 0x436586
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x436526
cmp byte [eax], 0x5c
jne 0x436524
inc eax
cmp eax, ecx
je 0x436524
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x436511
mov dl, byte [eax]
cmp dl, 0x28
je 0x436522
cmp dl, 0x29
je 0x436522
test cl, 0x10
jne 0x436524
mov cl, byte [eax]
cmp cl, 0x7b
je 0x436522
cmp cl, 0x7d
jne 0x436524
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004390e0
mov ecx, esi
call fcn.00436c40
cmp dword [esi + 0x4c], 0x5d
jne 0x43667f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x43657a
cmp byte [eax], 0x5c
jne 0x436578
inc eax
cmp eax, ecx
je 0x436578
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x436565
mov dl, byte [eax]
cmp dl, 0x28
je 0x436576
cmp dl, 0x29
je 0x436576
test cl, 0x10
jne 0x436578
mov cl, byte [eax]
cmp cl, 0x7b
je 0x436576
cmp cl, 0x7d
jne 0x436578
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004390e0
jmp 0x436660
cmp eax, 0x28
jne 0x4365ec
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4365c7
cmp byte [eax], 0x5c
jne 0x4365c5
inc eax
cmp eax, ecx
je 0x4365c5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4365b2
mov dl, byte [eax]
cmp dl, 0x28
je 0x4365c3
cmp dl, 0x29
je 0x4365c3
test cl, 0x10
jne 0x4365c5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4365c3
cmp cl, 0x7d
jne 0x4365c5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.004390e0
mov ecx, esi
call fcn.00439300
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.00438140
test bl, bl
je 0x436667
jmp 0x436660
cmp eax, 0x5e
jne 0x436604
push 2
lea ecx, [esi + 0x24]
call fcn.00438ad0
mov ecx, esi
call fcn.00438b40
jmp 0x436667
cmp eax, 0x24
jne 0x43661c
push 3
lea ecx, [esi + 0x24]
call fcn.00438ad0
mov ecx, esi
call fcn.00438b40
jmp 0x436667
cmp eax, 0x2a
je 0x43668d
cmp eax, 0x2b
je 0x43668d
cmp eax, 0x3f
je 0x43668d
cmp eax, 0x7b
je 0x43668d
cmp eax, 0x7d
jne 0x43663e
test dword [esi + 0x50], 0x10000000
je 0x436686
cmp eax, 0x5d
jne 0x43664c
test dword [esi + 0x50], 0x10000000
je 0x43667f
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00435b20
mov ecx, esi
call fcn.00438b40
mov ecx, esi
call fcn.00438b90
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x4362f0
pop ebx
mov al, cl
pop esi
ret
push 5
call fcn.004649e6
push 4
call fcn.004649e6
push 6
call fcn.004649e6
push 0xa
call fcn.004649e6
int3