Function at 0x422bc0
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 0x422c8c
cmp ecx, 0x7c
je 0x422c8c
nop
cmp ecx, 0x29
jne 0x422c93
cmp dword [esi + 0x10], 0
jne 0x422c8c
cmp ecx, ecx
jne 0x422c93
test dword [esi + 0x50], 0x10000000
je 0x4231ad
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x422c1c
test dword [edi], 0x10000000
je 0x4231b4
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00424320
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x422c70
cmp word [ecx], 0x5c
jne 0x422c6d
add ecx, 2
cmp ecx, eax
je 0x422c6d
mov edx, dword [edi]
test dl, 8
jne 0x422c55
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x422c6a
cmp edi, 0x29
je 0x422c6a
test dl, 0x10
jne 0x422c6d
movzx eax, word ds:[ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x422c6a
cmp ecx, 0x7d
jne 0x422c6d
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00422020
mov ecx, esi
call fcn.004240c0
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x422bd6
pop edi
pop esi
pop ebx
add esp, 8
ret
cmp ecx, 0x2e
jne 0x422d65
push 0x14
call fcn.00444ab3
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 0x422cf0
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword ds:[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 0x422c70
cmp word [ecx], 0x5c
jne 0x422d5b
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x422d59
mov eax, dword [esi + 0x50]
test al, 8
jne 0x422d34
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x422d4c
cmp edx, 0x29
je 0x422d4c
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x422d59
movzx eax, word ds:[ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x422d4c
mov edi, edx
cmp ebx, 0x7d
jne 0x422d59
lea ecx, [edi + 2]
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x422c70
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
jmp 0x422c70
cmp ecx, 0x5c
jne 0x422f39
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x422dc6
cmp word [ecx], 0x5c
jne 0x422dc1
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x422dbf
mov eax, dword [esi + 0x50]
test al, 8
jne 0x422da3
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x422dba
cmp edx, 0x29
je 0x422dba
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x422dbf
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x422dba
mov edi, edx
cmp ebx, 0x7d
jne 0x422dbf
lea ecx, [edi + 2]
jmp 0x422dc1
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esi], eax
mov ecx, esi
call fcn.00422020
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x422ebd
cmp word [esi + 0x48], 0x62
jne 0x422ebd
push 0x14
call fcn.00444ab3
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 0x422e34
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 0x423164
cmp word [ecx], 0x5c
jne 0x422eac
lea ebx, [ecx + 2]
mov edx, ecx
cmp ebx, eax
je 0x422eaa
mov eax, dword ds:[esi + 0x50]
test al, 8
jne 0x422e7a
movzx eax, word [ebx]
mov edi, ecx
mov edx, eax
cmp eax, 0x28
je 0x422e91
cmp edx, 0x29
je 0x422e91
mov eax, dword [esi + 0x50]
mov edx, ecx
test al, 0x10
jne 0x422eaa
movzx eax, word [ebx]
mov edi, ecx
mov ebx, eax
cmp eax, 0x7b
je 0x422e91
mov edi, edx
cmp ebx, 0x7d
jne 0x422eaa
lea ecx, ds:[edi + 2]
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.00422020
jmp 0x422c7e
mov ecx, edx
lea eax, [ecx + 2]
mov ecx, esi
mov dword [esi], eax
call fcn.00422020
jmp 0x422c7e
nop dword [eax]
test eax, eax
je 0x422f2d
cmp word [esi + 0x48], 0x42
jne 0x422f2d
push 0x14
call fcn.00444ab3
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 0x422f19
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 0x423119
mov ecx, esi
call fcn.00423ce0
jmp 0x422c77
nop dword [eax]
cmp ecx, 0x5b
jne 0x422fd2
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x422f90
cmp word [ecx], 0x5c
jne 0x422f8d
add ecx, 2
cmp ecx, eax
je 0x422f8d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x422f76
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x422f8a
cmp edi, 0x29
je 0x422f8a
test dl, 0x10
jne 0x422f8d
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x422f8a
cmp ecx, 0x7d
jne 0x422f8d
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00422020
mov ecx, esi
call fcn.00423b80
cmp dword [esi + 0x4c], 0x5d
jne 0x4231b4
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x422c70
cmp word [ecx], 0x5c
jne 0x422c6d
add ecx, 2
cmp ecx, eax
je 0x422c6d
mov edx, dword [esi + 0x50]
jmp 0x422c41
cmp ecx, 0x28
jne 0x423099
mov ecx, dword [esi]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x423024
cmp word [ecx], 0x5c
jne 0x423021
add ecx, 2
cmp ecx, eax
je 0x423021
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42300a
movzx eax, word ds:[ecx]
mov edi, eax
cmp eax, 0x28
je 0x42301e
cmp edi, 0x29
je 0x42301e
test dl, 0x10
jne 0x423021
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x42301e
cmp ecx, 0x7d
jne 0x423021
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00422020
mov ecx, esi
call fcn.00423e40
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4231ad
mov ecx, dword [esi]
mov edx, dword [esi + 8]
cmp ecx, edx
je 0x423085
cmp word [ecx], 0x5c
jne 0x423082
add ecx, 2
cmp ecx, edx
je 0x423082
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42306b
movzx eax, word [ecx]
mov edi, eax
cmp eax, 0x28
je 0x42307f
cmp edi, 0x29
je 0x42307f
test dl, 0x10
jne 0x423082
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x42307f
cmp ecx, 0x7d
jne 0x423082
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00422020
test bl, bl
je 0x422c7e
jmp 0x422c77
cmp ecx, 0x5e
jne 0x4230b0
push 0x14
call fcn.00444ab3
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x4230ce
cmp ecx, 0x24
jne 0x423170
push 0x14
call fcn.00444ab3
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 0x423110
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 ds:[esi + 8]
mov ecx, dword [esi]
cmp ecx, eax
je 0x423164
cmp word [ecx], 0x5c
jne 0x423161
add ecx, 2
cmp ecx, eax
je 0x423161
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42314a
movzx eax, word ds:[ecx]
mov edi, eax
cmp eax, 0x28
je 0x42315e
cmp edi, 0x29
je 0x42315e
test dl, 0x10
jne 0x423161
movzx eax, word [ecx]
mov ecx, eax
cmp eax, 0x7b
je 0x42315e
cmp ecx, 0x7d
jne 0x423161
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.00422020
jmp 0x422c7e
cmp ecx, 0x2a
je 0x42319f
cmp ecx, 0x2b
je 0x42319f
cmp ecx, 0x3f
je 0x42319f
nop
cmp ecx, 0x7b
je 0x42319f
cmp ecx, 0x7d
jne 0x422c08
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x4231a6
jmp 0x422c1c
push 0xa
call fcn.00418a30
push 6
call fcn.00418a30
push 5
call fcn.00418a30
push 4
call fcn.00418a30
int3