Function at 0x1000b0f0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1000b5fe
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x1000b5fc
cmp eax, 0x29
jne 0x1000b130
cmp dword [esi + 0x10], 0
jne 0x1000b5fc
test dword [esi + 0x50], 0x10000000
je 0x1000b60b
jmp 0x1000b58d
cmp eax, 0x2e
jne 0x1000b1a2
push 5
lea ecx, [esi + 0x24]
call fcn.1000da80
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000b5dd
cmp word [eax], 0x5c
jne 0x1000b198
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x1000b196
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000b173
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x1000b189
cmp ecx, 0x29
je 0x1000b189
mov ecx, eax
test bl, 0x10
jne 0x1000b196
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x1000b189
mov edx, ecx
cmp edi, 0x7d
jne 0x1000b196
lea eax, [edx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x1000b5dd
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x1000b5dd
cmp eax, 0x5c
jne 0x1000b307
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000b1fc
cmp word [eax], 0x5c
jne 0x1000b1f7
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x1000b1f5
test byte [esi + 0x50], 8
jne 0x1000b1d9
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x1000b1f0
cmp ecx, 0x29
je 0x1000b1f0
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1000b1f5
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x1000b1f0
mov edx, ecx
cmp ebx, 0x7d
jne 0x1000b1f5
lea eax, [edx + 2]
jmp 0x1000b1f7
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1000e080
test byte [esi + 0x50], 0x80
je 0x1000b2fb
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x1000b28e
push 4
lea ecx, [esi + 0x24]
call fcn.1000da80
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000b282
cmp word [eax], 0x5c
jne 0x1000b27d
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x1000b27b
test byte [esi + 0x50], 8
jne 0x1000b250
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x1000b267
cmp ecx, 0x29
je 0x1000b267
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1000b27b
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x1000b267
mov edx, ecx
cmp ebx, 0x7d
jne 0x1000b27b
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.1000e080
jmp 0x1000b5ee
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1000e080
jmp 0x1000b5ee
cmp ecx, 0x42
jne 0x1000b2fb
push 4
lea ecx, [esi + 0x24]
call fcn.1000da80
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000b2ef
cmp word [eax], 0x5c
jne 0x1000b2ea
lea ebx, [eax + 2]
cmp ebx, ecx
je 0x1000b2ea
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000b2d3
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x28
je 0x1000b2e7
cmp edx, 0x29
je 0x1000b2e7
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1000b2ea
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x7b
je 0x1000b2e7
cmp edx, 0x7d
jne 0x1000b2ea
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1000e080
jmp 0x1000b5ee
mov ecx, esi
call fcn.1000b630
jmp 0x1000b5e4
cmp eax, 0x5b
jne 0x1000b402
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000b358
cmp word [eax], 0x5c
jne 0x1000b353
lea edx, [eax + 2]
cmp edx, ecx
je 0x1000b353
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000b33c
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x1000b350
cmp edi, 0x29
je 0x1000b350
test bl, 0x10
jne 0x1000b353
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x1000b350
cmp edx, 0x7d
jne 0x1000b353
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1000e080
lea edi, [esi + 0x24]
mov ecx, edi
call fcn.1000a930
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1000b3ce
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000b3c4
cmp word [eax], 0x5c
jne 0x1000b3bc
lea edx, [eax + 2]
cmp edx, ecx
je 0x1000b3bc
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000b3a5
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x1000b3b9
cmp edi, 0x29
je 0x1000b3b9
test bl, 0x10
jne 0x1000b3bc
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x1000b3b9
cmp edx, 0x7d
jne 0x1000b3bc
lea eax, [ecx + 2]
add eax, 2
lea edi, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.1000e080
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x1000b3eb
cmp eax, 0x5d
jne 0x1000b3eb
push eax
mov ecx, edi
call fcn.1000a8b0
mov ecx, esi
call fcn.1000daf0
mov ecx, esi
call fcn.1000c0a0
push 4
push 0x5d
mov ecx, esi
call fcn.1000cf90
jmp 0x1000b5e4
cmp eax, 0x28
jne 0x1000b47a
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000b452
cmp word [eax], 0x5c
jne 0x1000b44d
lea edx, [eax + 2]
cmp edx, ecx
je 0x1000b44d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000b436
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x1000b44a
cmp ebx, 0x29
je 0x1000b44a
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1000b44d
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x1000b44a
cmp edx, 0x7d
jne 0x1000b44d
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1000e080
mov ecx, esi
call fcn.1000e290
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.1000cf90
test bl, bl
je 0x1000b5ee
jmp 0x1000b5e4
cmp eax, 0x5e
jne 0x1000b4e3
push 2
lea ecx, [esi + 0x24]
call fcn.1000da80
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000b4d7
cmp word [eax], 0x5c
jne 0x1000b4d2
lea edx, [eax + 2]
cmp edx, ecx
je 0x1000b4d2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000b4bb
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x1000b4cf
cmp ebx, 0x29
je 0x1000b4cf
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1000b4d2
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x1000b4cf
cmp edx, 0x7d
jne 0x1000b4d2
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1000e080
jmp 0x1000b5ee
cmp eax, 0x24
jne 0x1000b543
push 3
lea ecx, [esi + 0x24]
call fcn.1000da80
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000b537
cmp word [eax], 0x5c
jne 0x1000b534
add eax, 2
cmp eax, ecx
je 0x1000b534
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000b51f
movzx edx, word [eax]
cmp edx, 0x28
je 0x1000b531
cmp edx, 0x29
je 0x1000b531
test cl, 0x10
jne 0x1000b534
movzx eax, word [eax]
cmp eax, 0x7b
je 0x1000b531
cmp eax, 0x7d
jne 0x1000b534
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.1000e080
jmp 0x1000b5ee
cmp eax, 0x2a
je 0x1000b602
cmp eax, 0x2b
je 0x1000b602
cmp eax, 0x3f
je 0x1000b602
cmp eax, 0x7b
je 0x1000b602
cmp eax, 0x7d
jne 0x1000b57b
test dword [esi + 0x50], 0x10000000
je 0x1000b614
jmp 0x1000b58d
cmp eax, 0x5d
jne 0x1000b58d
test dword [esi + 0x50], 0x10000000
je 0x1000b61d
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1000a6e0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000b5dd
cmp word [eax], 0x5c
jne 0x1000b5da
add eax, 2
cmp eax, ecx
je 0x1000b5da
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000b5c5
movzx edx, word [eax]
cmp edx, 0x28
je 0x1000b5d7
cmp edx, 0x29
je 0x1000b5d7
test cl, 0x10
jne 0x1000b5da
movzx eax, word [eax]
cmp eax, 0x7b
je 0x1000b5d7
cmp eax, 0x7d
jne 0x1000b5da
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.1000e080
mov ecx, esi
call fcn.1000db40
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1000b106
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.1000cf80
push 5
mov ecx, esi
call fcn.1000cf80
push 6
mov ecx, esi
call fcn.1000cf80
push 4
mov ecx, esi
call fcn.1000cf80
int3