Function at 0x434d40
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
xor al, al
push ebx
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0x4c]
cmp ecx, 0xffffffff
je 0x434dfd
cmp ecx, 0x7c
je 0x434dfd
cmp ecx, 0x29
jne 0x434e04
cmp dword [esi + 0x10], 0
jne 0x434dfd
cmp ecx, ecx
jne 0x434e04
test dword [esi + 0x50], 0x10000000
je 0x4352b2
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x434d9b
test dword [edi], 0x10000000
je 0x4352b9
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00436360
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x434de1
cmp byte [eax], 0x5c
jne 0x434ddf
inc eax
cmp eax, ecx
je 0x434ddf
mov edx, dword [edi]
test dl, 8
jne 0x434dce
mov cl, byte [eax]
cmp cl, 0x28
je 0x434ddd
cmp cl, 0x29
je 0x434ddd
test dl, 0x10
jne 0x434ddf
mov al, byte [eax]
cmp al, 0x7b
je 0x434ddd
cmp al, 0x7d
jne 0x434ddf
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.004339e0
mov ecx, esi
call fcn.00436140
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x434d56
pop edi
pop esi
pop ebx
add esp, 8
ret
cmp ecx, 0x2e
jne 0x434ec1
push 0x14
call fcn.00481d9b
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], 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 0x434e5b
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 edx, dword [esi + 8]
cmp eax, edx
je 0x434de1
cmp byte [eax], 0x5c
jne 0x434eb9
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x434eb7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x434e97
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x434eac
cmp cl, 0x29
je 0x434eac
mov ecx, eax
test bl, 0x10
jne 0x434eb7
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x434eac
mov edx, ecx
cmp bl, 0x7d
jne 0x434eb7
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x434de1
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x434de1
cmp ecx, 0x5c
jne 0x435070
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x434f17
cmp byte [eax], cl
jne 0x434f14
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x434f12
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x434ef8
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x434f0d
cmp cl, 0x29
je 0x434f0d
mov ecx, eax
test bl, 0x10
jne 0x434f12
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x434f0d
mov edx, ecx
cmp bl, 0x7d
jne 0x434f12
lea eax, [edx + 1]
jmp 0x434f14
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004339e0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x434ff8
cmp byte [esi + 0x48], 0x62
jne 0x434ff8
push 0x14
call fcn.00481d9b
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], 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 0x434f84
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 edx, dword [esi + 8]
cmp eax, edx
je 0x43526a
cmp byte [eax], 0x5c
jne 0x434fe9
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x434fe7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x434fc0
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x434fd5
cmp cl, 0x29
je 0x434fd5
mov ecx, eax
test bl, 0x10
jne 0x434fe7
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x434fd5
mov edx, ecx
cmp bl, 0x7d
jne 0x434fe7
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.004339e0
jmp 0x434def
mov eax, ecx
inc eax
mov ecx, esi
mov dword [esi], eax
call fcn.004339e0
jmp 0x434def
test eax, eax
je 0x435064
cmp byte [esi + 0x48], 0x42
jne 0x435064
push 0x14
call fcn.00481d9b
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], 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 0x435050
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 0x435230
mov ecx, esi
call fcn.00435e20
jmp 0x434de8
cmp ecx, 0x5b
jne 0x43510e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4350b3
cmp byte [eax], 0x5c
jne 0x4350b1
inc eax
cmp eax, ecx
je 0x4350b1
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4350a0
mov cl, byte [eax]
cmp cl, 0x28
je 0x4350af
cmp cl, 0x29
je 0x4350af
test dl, 0x10
jne 0x4350b1
mov al, byte [eax]
cmp al, 0x7b
je 0x4350af
cmp al, 0x7d
jne 0x4350b1
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.004339e0
mov ecx, esi
call fcn.00435cf0
cmp dword [esi + 0x4c], 0x5d
jne 0x4352b9
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x434de1
cmp byte [eax], 0x5c
jne 0x434ddf
inc eax
cmp eax, ecx
je 0x434ddf
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x435106
mov dl, byte [eax]
cmp dl, 0x28
je 0x434ddd
cmp dl, 0x29
je 0x434ddd
test cl, 0x10
jmp 0x434dd1
cmp ecx, 0x28
jne 0x4351b9
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x435151
cmp byte [eax], 0x5c
jne 0x43514f
inc eax
cmp eax, ecx
je 0x43514f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x43513e
mov dl, byte [eax]
cmp dl, 0x28
je 0x43514d
cmp dl, 0x29
je 0x43514d
test cl, 0x10
jne 0x43514f
mov al, byte [eax]
cmp al, 0x7b
je 0x43514d
cmp al, 0x7d
jne 0x43514f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.004339e0
mov ecx, esi
call fcn.00435f60
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4352b2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4351a5
cmp byte [eax], 0x5c
jne 0x4351a3
inc eax
cmp eax, ecx
je 0x4351a3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x435192
mov dl, byte [eax]
cmp dl, 0x28
je 0x4351a1
cmp dl, 0x29
je 0x4351a1
test cl, 0x10
jne 0x4351a3
mov al, byte [eax]
cmp al, 0x7b
je 0x4351a1
cmp al, 0x7d
jne 0x4351a3
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.004339e0
test bl, bl
je 0x434def
jmp 0x434de8
cmp ecx, 0x5e
jne 0x4351d0
push 0x14
call fcn.00481d9b
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x4351e9
cmp ecx, 0x24
jne 0x435276
push 0x14
call fcn.00481d9b
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 [esp + 0x10], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x435227
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 + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x43526a
cmp byte [eax], 0x5c
jne 0x435268
inc eax
cmp eax, ecx
je 0x435268
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x435257
mov dl, byte [eax]
cmp dl, 0x28
je 0x435266
cmp dl, 0x29
je 0x435266
test cl, 0x10
jne 0x435268
mov al, byte [eax]
cmp al, 0x7b
je 0x435266
cmp al, 0x7d
jne 0x435268
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.004339e0
jmp 0x434def
cmp ecx, 0x2a
je 0x4352a4
cmp ecx, 0x2b
je 0x4352a4
cmp ecx, 0x3f
je 0x4352a4
cmp ecx, 0x7b
je 0x4352a4
cmp ecx, 0x7d
jne 0x434d87
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x4352ab
jmp 0x434d9b
push 0xa
call fcn.004339d0
push 6
call fcn.004339d0
push 5
call fcn.004339d0
push 4
call fcn.004339d0
int3