Function at 0x10092dd0
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 0x10093237
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x10093237
cmp eax, 0x29
jne 0x10092e10
cmp dword [esi + 0x10], 0
jne 0x10093237
test dword [esi + 0x50], 0x10000000
je 0x10093244
jmp 0x100931d0
cmp eax, 0x2e
jne 0x10092e63
push 5
lea ecx, [esi + 0x24]
call fcn.10093260
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10093218
cmp byte [eax], 0x5c
jne 0x1009301f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009301f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10092e5b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1009301d
cmp dl, 0x29
je 0x1009301d
test bl, 0x10
jmp 0x1009300f
cmp eax, 0x5c
jne 0x10092f81
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10092eaa
cmp byte [eax], 0x5c
jne 0x10092ea7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10092ea7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10092e94
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10092ea5
cmp dl, 0x29
je 0x10092ea5
test bl, 0x10
jne 0x10092ea7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10092ea5
cmp dl, 0x7d
jne 0x10092ea7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10091dd0
test byte [esi + 0x50], 0x80
je 0x10092f75
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x10092f16
push 4
lea ecx, [esi + 0x24]
call fcn.10093260
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10092f0a
cmp byte [eax], 0x5c
jne 0x10092f07
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10092f07
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10092ef4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10092f05
cmp dl, 0x29
je 0x10092f05
test bl, 0x10
jne 0x10092f07
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10092f05
cmp dl, 0x7d
jne 0x10092f07
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10091dd0
jmp 0x10093229
cmp al, 0x42
jne 0x10092f75
push 4
lea ecx, [esi + 0x24]
call fcn.10093260
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10092f69
cmp byte [eax], 0x5c
jne 0x10092f66
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10092f66
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10092f53
mov al, byte [ecx]
cmp al, 0x28
je 0x10092f64
cmp al, 0x29
je 0x10092f64
mov eax, dword [esi]
test dl, 0x10
jne 0x10092f66
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10092f64
cmp dl, 0x7d
jne 0x10092f66
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10091dd0
jmp 0x10093229
mov ecx, esi
call fcn.10093d40
jmp 0x1009321f
cmp eax, 0x5b
jne 0x10093027
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10092fc8
cmp byte [eax], 0x5c
jne 0x10092fc5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10092fc5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10092fb2
mov al, byte [ecx]
cmp al, 0x28
je 0x10092fc3
cmp al, 0x29
je 0x10092fc3
mov eax, dword [esi]
test dl, 0x10
jne 0x10092fc5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10092fc3
cmp dl, 0x7d
jne 0x10092fc5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10091dd0
mov ecx, esi
call fcn.10093c10
cmp dword [esi + 0x4c], 0x5d
jne 0x10093252
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10093218
cmp byte [eax], 0x5c
jne 0x1009301f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009301f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1009300c
mov al, byte [ecx]
cmp al, 0x28
je 0x1009301d
cmp al, 0x29
je 0x1009301d
mov eax, dword [esi]
test dl, 0x10
jne 0x1009301f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1009301d
cmp dl, 0x7d
jne 0x1009301f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x10093218
cmp eax, 0x28
jne 0x100930da
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1009306e
cmp byte [eax], 0x5c
jne 0x1009306b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009306b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10093058
mov al, byte [ecx]
cmp al, 0x28
je 0x10093069
cmp al, 0x29
je 0x10093069
mov eax, dword [esi]
test dl, 0x10
jne 0x1009306b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10093069
cmp dl, 0x7d
jne 0x1009306b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10091dd0
mov ecx, esi
call fcn.10093e90
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x10093244
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100930c6
cmp byte [eax], 0x5c
jne 0x100930c3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100930c3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100930b0
mov al, byte [ecx]
cmp al, 0x28
je 0x100930c1
cmp al, 0x29
je 0x100930c1
mov eax, dword [esi]
test dl, 0x10
jne 0x100930c3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100930c1
cmp dl, 0x7d
jne 0x100930c3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10091dd0
test bl, bl
je 0x10093229
jmp 0x1009321f
cmp eax, 0x5e
jne 0x10093130
push 2
lea ecx, [esi + 0x24]
call fcn.10093260
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10093124
cmp byte [eax], 0x5c
jne 0x10093122
inc eax
cmp eax, ecx
je 0x10093122
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1009310f
mov dl, byte [eax]
cmp dl, 0x28
je 0x10093120
cmp dl, 0x29
je 0x10093120
test cl, 0x10
jne 0x10093122
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10093120
cmp cl, 0x7d
jne 0x10093122
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10091dd0
jmp 0x10093229
cmp eax, 0x24
jne 0x10093186
push 3
lea ecx, [esi + 0x24]
call fcn.10093260
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1009317a
cmp byte [eax], 0x5c
jne 0x10093178
inc eax
cmp eax, ecx
je 0x10093178
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10093165
mov dl, byte [eax]
cmp dl, 0x28
je 0x10093176
cmp dl, 0x29
je 0x10093176
test cl, 0x10
jne 0x10093178
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10093176
cmp cl, 0x7d
jne 0x10093178
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10091dd0
jmp 0x10093229
cmp eax, 0x2a
je 0x1009323d
cmp eax, 0x2b
je 0x1009323d
cmp eax, 0x3f
je 0x1009323d
cmp eax, 0x7b
je 0x1009323d
cmp eax, 0x7d
jne 0x100931be
test dword [esi + 0x50], 0x10000000
je 0x1009324b
jmp 0x100931d0
cmp eax, 0x5d
jne 0x100931d0
test dword [esi + 0x50], 0x10000000
je 0x10093252
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10094320
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10093218
cmp byte [eax], 0x5c
jne 0x10093216
inc eax
cmp eax, ecx
je 0x10093216
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10093203
mov dl, byte [eax]
cmp dl, 0x28
je 0x10093214
cmp dl, 0x29
je 0x10093214
test cl, 0x10
jne 0x10093216
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10093214
cmp cl, 0x7d
jne 0x10093216
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10091dd0
mov ecx, esi
call fcn.100940f0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10092de6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.10091dc0
push 5
call fcn.10091dc0
push 6
call fcn.10091dc0
push 4
call fcn.10091dc0
int3