Function at 0xd502b0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0xd50717
lea edi, [esi + 8]
cmp eax, 0x7c
je 0xd50717
cmp eax, 0x29
jne 0xd502f0
cmp dword [esi + 0x10], 0
jne 0xd50717
test dword [esi + 0x50], 0x10000000
je 0xd50724
jmp 0xd506b0
cmp eax, 0x2e
jne 0xd50343
push 5
lea ecx, [esi + 0x24]
call fcn.00d50740
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xd506f8
cmp byte [eax], 0x5c
jne 0xd504ff
lea ecx, [eax + 1]
cmp ecx, edx
je 0xd504ff
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0xd5033b
mov dl, byte [ecx]
cmp dl, 0x28
je 0xd504fd
cmp dl, 0x29
je 0xd504fd
test bl, 0x10
jmp 0xd504ef
cmp eax, 0x5c
jne 0xd50461
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xd5038a
cmp byte [eax], 0x5c
jne 0xd50387
lea ecx, [eax + 1]
cmp ecx, edx
je 0xd50387
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0xd50374
mov dl, byte [ecx]
cmp dl, 0x28
je 0xd50385
cmp dl, 0x29
je 0xd50385
test bl, 0x10
jne 0xd50387
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xd50385
cmp dl, 0x7d
jne 0xd50387
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00d4eab0
test byte [esi + 0x50], 0x80
je 0xd50455
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0xd503f6
push 4
lea ecx, [esi + 0x24]
call fcn.00d50740
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xd503ea
cmp byte [eax], 0x5c
jne 0xd503e7
lea ecx, [eax + 1]
cmp ecx, edx
je 0xd503e7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0xd503d4
mov dl, byte [ecx]
cmp dl, 0x28
je 0xd503e5
cmp dl, 0x29
je 0xd503e5
test bl, 0x10
jne 0xd503e7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xd503e5
cmp dl, 0x7d
jne 0xd503e7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00d4eab0
jmp 0xd50709
cmp al, 0x42
jne 0xd50455
push 4
lea ecx, [esi + 0x24]
call fcn.00d50740
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xd50449
cmp byte [eax], 0x5c
jne 0xd50446
lea ecx, [eax + 1]
cmp ecx, edx
je 0xd50446
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xd50433
mov al, byte [ecx]
cmp al, 0x28
je 0xd50444
cmp al, 0x29
je 0xd50444
mov eax, dword [esi]
test dl, 0x10
jne 0xd50446
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xd50444
cmp dl, 0x7d
jne 0xd50446
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00d4eab0
jmp 0xd50709
mov ecx, esi
call fcn.00d51e20
jmp 0xd506ff
cmp eax, 0x5b
jne 0xd50507
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xd504a8
cmp byte [eax], 0x5c
jne 0xd504a5
lea ecx, [eax + 1]
cmp ecx, edx
je 0xd504a5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xd50492
mov al, byte [ecx]
cmp al, 0x28
je 0xd504a3
cmp al, 0x29
je 0xd504a3
mov eax, dword [esi]
test dl, 0x10
jne 0xd504a5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xd504a3
cmp dl, 0x7d
jne 0xd504a5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00d4eab0
mov ecx, esi
call fcn.00d51cf0
cmp dword [esi + 0x4c], 0x5d
jne 0xd50732
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xd506f8
cmp byte [eax], 0x5c
jne 0xd504ff
lea ecx, [eax + 1]
cmp ecx, edx
je 0xd504ff
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xd504ec
mov al, byte [ecx]
cmp al, 0x28
je 0xd504fd
cmp al, 0x29
je 0xd504fd
mov eax, dword [esi]
test dl, 0x10
jne 0xd504ff
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xd504fd
cmp dl, 0x7d
jne 0xd504ff
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0xd506f8
cmp eax, 0x28
jne 0xd505ba
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xd5054e
cmp byte [eax], 0x5c
jne 0xd5054b
lea ecx, [eax + 1]
cmp ecx, edx
je 0xd5054b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xd50538
mov al, byte [ecx]
cmp al, 0x28
je 0xd50549
cmp al, 0x29
je 0xd50549
mov eax, dword [esi]
test dl, 0x10
jne 0xd5054b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xd50549
cmp dl, 0x7d
jne 0xd5054b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00d4eab0
mov ecx, esi
call fcn.00d51f70
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0xd50724
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0xd505a6
cmp byte [eax], 0x5c
jne 0xd505a3
lea ecx, [eax + 1]
cmp ecx, edx
je 0xd505a3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0xd50590
mov al, byte [ecx]
cmp al, 0x28
je 0xd505a1
cmp al, 0x29
je 0xd505a1
mov eax, dword [esi]
test dl, 0x10
jne 0xd505a3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0xd505a1
cmp dl, 0x7d
jne 0xd505a3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00d4eab0
test bl, bl
je 0xd50709
jmp 0xd506ff
cmp eax, 0x5e
jne 0xd50610
push 2
lea ecx, [esi + 0x24]
call fcn.00d50740
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0xd50604
cmp byte [eax], 0x5c
jne 0xd50602
inc eax
cmp eax, ecx
je 0xd50602
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0xd505ef
mov dl, byte [eax]
cmp dl, 0x28
je 0xd50600
cmp dl, 0x29
je 0xd50600
test cl, 0x10
jne 0xd50602
mov cl, byte [eax]
cmp cl, 0x7b
je 0xd50600
cmp cl, 0x7d
jne 0xd50602
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00d4eab0
jmp 0xd50709
cmp eax, 0x24
jne 0xd50666
push 3
lea ecx, [esi + 0x24]
call fcn.00d50740
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0xd5065a
cmp byte [eax], 0x5c
jne 0xd50658
inc eax
cmp eax, ecx
je 0xd50658
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0xd50645
mov dl, byte [eax]
cmp dl, 0x28
je 0xd50656
cmp dl, 0x29
je 0xd50656
test cl, 0x10
jne 0xd50658
mov cl, byte [eax]
cmp cl, 0x7b
je 0xd50656
cmp cl, 0x7d
jne 0xd50658
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00d4eab0
jmp 0xd50709
cmp eax, 0x2a
je 0xd5071d
cmp eax, 0x2b
je 0xd5071d
cmp eax, 0x3f
je 0xd5071d
cmp eax, 0x7b
je 0xd5071d
cmp eax, 0x7d
jne 0xd5069e
test dword [esi + 0x50], 0x10000000
je 0xd5072b
jmp 0xd506b0
cmp eax, 0x5d
jne 0xd506b0
test dword [esi + 0x50], 0x10000000
je 0xd50732
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00d52350
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0xd506f8
cmp byte [eax], 0x5c
jne 0xd506f6
inc eax
cmp eax, ecx
je 0xd506f6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0xd506e3
mov dl, byte [eax]
cmp dl, 0x28
je 0xd506f4
cmp dl, 0x29
je 0xd506f4
test cl, 0x10
jne 0xd506f6
mov cl, byte [eax]
cmp cl, 0x7b
je 0xd506f4
cmp cl, 0x7d
jne 0xd506f6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00d4eab0
mov ecx, esi
call fcn.00d52120
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0xd502c6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00d4eaa0
push 5
call fcn.00d4eaa0
push 6
call fcn.00d4eaa0
push 4
call fcn.00d4eaa0
int3