Function at 0x49cfc0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ecx]
push ebx
push esi
push edi
mov edx, dword [eax + 0x49a4]
mov esi, edx
mov ebx, dword [eax + 0x150]
mov dword [ebp - 0x10], ebx
mov cl, byte [edx]
call fcn.0049cda0
test al, al
je 0x49d024
mov cl, byte [esi + 1]
inc esi
call fcn.0049cda0
test al, al
jne 0x49cfe7
cmp esi, edx
je 0x49d024
mov ecx, esi
jbe 0x49d006
cmp byte [esi - 1], 0x2f
lea eax, [esi - 1]
cmove ecx, eax
push 1
push 0
lea edi, [ebx + 4]
sub ecx, edx
push edi
push ecx
call fcn.0048a320
add esp, 0x10
test eax, eax
je 0x49d02b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 4], 0
cmp byte [esi], 0x3b
jne 0x49d24b
mov al, byte [esi + 1]
inc esi
mov edx, esi
test al, al
je 0x49d2bc
cmp al, 0x3d
je 0x49d05a
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x49d042
pop edi
pop esi
mov eax, 3
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi], 0
je 0x49d2bc
push 1
push 0
lea eax, [ebp - 8]
push eax
mov eax, esi
sub eax, edx
push eax
call fcn.0048a320
add esp, 0x10
test eax, eax
jne 0x49d2a2
mov cl, byte [esi + 1]
inc esi
mov edx, esi
call fcn.0049cda0
test al, al
je 0x49d09d
nop
mov cl, byte [esi + 1]
inc esi
call fcn.0049cda0
test al, al
jne 0x49d090
push 1
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
mov eax, esi
sub eax, edx
push eax
call fcn.0048a320
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x49d2c8
mov eax, dword [ebp - 8]
mov ebx, str.UIDVALIDITY
mov edi, eax
mov ah, byte [eax]
test ah, ah
je 0x49d0f9
nop
mov cl, byte [ebx]
test cl, cl
je 0x49d0f9
mov dl, byte [edi]
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x49d0e3
sub dl, 0x20
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x49d0ee
sub cl, 0x20
cmp dl, cl
jne 0x49d0f9
inc edi
inc ebx
cmp byte [edi], 0
jne 0x49d0d0
mov dl, byte [edi]
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x49d106
sub dl, 0x20
mov cl, byte [ebx]
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x49d113
sub cl, 0x20
cmp dl, cl
jne 0x49d141
mov ebx, dword [ebp - 0x10]
cmp dword [ebx + 8], 0
jne 0x49d141
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
test eax, eax
je 0x49d136
cmp byte [ecx + eax - 1], 0x2f
jne 0x49d136
mov byte [ecx + eax - 1], 0
mov edi, dword [ebp - 8]
mov dword [ebx + 8], ecx
jmp 0x49d229
mov edi, dword [ebp - 8]
mov ebx, 0x6fb8e0
test ah, ah
je 0x49d179
nop dword [eax]
mov cl, byte [ebx]
test cl, cl
je 0x49d179
mov dl, byte [edi]
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x49d163
sub dl, 0x20
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x49d16e
sub cl, 0x20
cmp dl, cl
jne 0x49d179
inc edi
inc ebx
cmp byte [edi], 0
jne 0x49d150
mov dl, byte [edi]
mov al, dl
sub al, 0x61
cmp al, 0x19
ja 0x49d186
sub dl, 0x20
mov cl, byte [ebx]
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x49d193
sub cl, 0x20
mov ebx, dword [ebp - 0x10]
cmp dl, cl
jne 0x49d1be
cmp dword [ebx + 0xc], 0
jne 0x49d1be
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
test eax, eax
je 0x49d1b6
cmp byte [ecx + eax - 1], 0x2f
jne 0x49d1b6
mov byte [ecx + eax - 1], 0
mov edi, dword [ebp - 8]
mov dword [ebx + 0xc], ecx
jmp 0x49d229
mov edi, dword [ebp - 8]
mov edx, str.SECTION
mov ecx, edi
call fcn.0049a5a0
test eax, eax
je 0x49d1f2
cmp dword [ebx + 0x10], 0
jne 0x49d1f2
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
test eax, eax
je 0x49d1ed
cmp byte [ecx + eax - 1], 0x2f
jne 0x49d1ed
mov byte [ecx + eax - 1], 0
mov dword [ebx + 0x10], ecx
jmp 0x49d229
mov edx, str.PARTIAL
mov ecx, edi
call fcn.0049a5a0
test eax, eax
je 0x49d2a9
cmp dword [ebx + 0x14], 0
jne 0x49d2a9
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
test eax, eax
je 0x49d226
cmp byte [ecx + eax - 1], 0x2f
jne 0x49d226
mov byte [ecx + eax - 1], 0
mov dword [ebx + 0x14], ecx
push edi
mov dword [ebp - 4], 0
call dword [0x725400]
push 0
call dword [0x725400]
add esp, 8
cmp byte [esi], 0x3b
je 0x49d034
cmp dword [ebx + 4], 0
je 0x49d296
cmp dword [ebx + 0xc], 0
jne 0x49d296
cmp byte [esi], 0x3f
jne 0x49d296
mov cl, byte [esi + 1]
inc esi
mov edx, esi
call fcn.0049cda0
test al, al
je 0x49d27d
nop dword [eax + eax]
mov cl, byte [esi + 1]
inc esi
call fcn.0049cda0
test al, al
jne 0x49d270
push 1
push 0
lea eax, [ebx + 0x18]
push eax
mov eax, esi
sub eax, edx
push eax
call fcn.0048a320
add esp, 0x10
test eax, eax
jne 0x49d2a2
xor eax, eax
mov ecx, 3
cmp byte [esi], al
cmovne eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call dword [0x725400]
push dword [ebp - 4]
call dword [0x725400]
add esp, 8
pop edi
pop esi
mov eax, 3
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 8]
call dword [0x725400]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret