Function at 0x4d2180
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x4d24fe
push ebx
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x4d24fd
cmp eax, 0x29
jne 0x4d21b8
cmp dword [esi + 0x10], 0
jne 0x4d24fd
test dword [esi + 0x50], 0x10000000
je 0x4d2502
cmp eax, 0x2e
jne 0x4d226a
push 0x14
call fcn.005278bc
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4d21f5
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 0x4d21f7
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 0x4d2213
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 0x4d225e
cmp word [eax], 0x5c
jne 0x4d225b
add eax, 2
cmp eax, ecx
je 0x4d225b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4d2247
movzx edx, word [eax]
cmp edx, 0x28
je 0x4d2259
cmp edx, 0x29
je 0x4d2259
test cl, 0x10
jne 0x4d225b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4d2259
cmp ecx, 0x7d
jne 0x4d225b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004d57b0
jmp 0x4d24ea
cmp eax, 0x5c
jne 0x4d2359
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4d22b5
cmp word [eax], 0x5c
jne 0x4d22b2
add eax, 2
cmp eax, ecx
je 0x4d22b2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4d229e
movzx edx, word [eax]
cmp edx, 0x28
je 0x4d22b0
cmp edx, 0x29
je 0x4d22b0
test cl, 0x10
jne 0x4d22b2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4d22b0
cmp ecx, 0x7d
jne 0x4d22b2
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004d57b0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x4d2325
cmp word [esi + 0x48], 0x62
jne 0x4d2325
push 4
lea ecx, [esi + 0x24]
call fcn.004d52d0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4d2319
cmp word [eax], 0x5c
jne 0x4d2316
add eax, 2
cmp eax, ecx
je 0x4d2316
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4d2302
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4d2314
cmp ecx, 0x29
je 0x4d2314
test dl, 0x10
jne 0x4d2316
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4d2314
cmp ecx, 0x7d
jne 0x4d2316
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004d57b0
jmp 0x4d24f1
test eax, eax
je 0x4d234d
cmp word [esi + 0x48], 0x42
jne 0x4d234d
push 4
lea ecx, [esi + 0x24]
call fcn.004d52d0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.004d5340
jmp 0x4d24f1
mov ecx, esi
call fcn.004d2580
jmp 0x4d24ea
cmp eax, 0x5b
jne 0x4d240a
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4d23a4
cmp word [eax], 0x5c
jne 0x4d23a1
add eax, 2
cmp eax, ecx
je 0x4d23a1
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4d238d
movzx edx, word [eax]
cmp edx, 0x28
je 0x4d239f
cmp edx, 0x29
je 0x4d239f
test cl, 0x10
jne 0x4d23a1
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4d239f
cmp ecx, 0x7d
jne 0x4d23a1
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004d57b0
mov ecx, esi
call fcn.004d2ac0
cmp dword [esi + 0x4c], 0x5d
jne 0x4d2509
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4d23fe
cmp word [eax], 0x5c
jne 0x4d23fb
add eax, 2
cmp eax, ecx
je 0x4d23fb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4d23e7
movzx edx, word [eax]
cmp edx, 0x28
je 0x4d23f9
cmp edx, 0x29
je 0x4d23f9
test cl, 0x10
jne 0x4d23fb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4d23f9
cmp ecx, 0x7d
jne 0x4d23fb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004d57b0
jmp 0x4d24ea
cmp eax, 0x28
jne 0x4d2476
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4d2451
cmp word [eax], 0x5c
jne 0x4d244e
add eax, 2
cmp eax, ecx
je 0x4d244e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4d243a
movzx edx, word [eax]
cmp edx, 0x28
je 0x4d244c
cmp edx, 0x29
je 0x4d244c
test cl, 0x10
jne 0x4d244e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4d244c
cmp ecx, 0x7d
jne 0x4d244e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004d57b0
mov ecx, esi
call fcn.004d5960
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.004d4180
test bl, bl
je 0x4d24f1
jmp 0x4d24ea
cmp eax, 0x5e
jne 0x4d248e
push 2
lea ecx, [esi + 0x24]
call fcn.004d52d0
mov ecx, esi
call fcn.004d5340
jmp 0x4d24f1
cmp eax, 0x24
jne 0x4d24a6
push 3
lea ecx, [esi + 0x24]
call fcn.004d52d0
mov ecx, esi
call fcn.004d5340
jmp 0x4d24f1
cmp eax, 0x2a
je 0x4d2517
cmp eax, 0x2b
je 0x4d2517
cmp eax, 0x3f
je 0x4d2517
cmp eax, 0x7b
je 0x4d2517
cmp eax, 0x7d
jne 0x4d24c8
test dword [esi + 0x50], 0x10000000
je 0x4d2510
cmp eax, 0x5d
jne 0x4d24d6
test dword [esi + 0x50], 0x10000000
je 0x4d2509
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004d17e0
mov ecx, esi
call fcn.004d5340
mov ecx, esi
call fcn.004d5390
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x4d2190
pop ebx
mov al, cl
pop esi
ret
push 5
call fcn.00524615
push 4
call fcn.00524615
push 6
call fcn.00524615
push 0xa
call fcn.00524615
int3