Function at 0x10012010
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x7912a0]
sub esp, 0x18
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push esi
mov esi, dword [eax + 0x424]
push edi
test esi, esi
je 0x1001205f
movzx eax, word [esi + 0x48]
cmp ax, 1
jl 0x1001205f
movzx edi, word [esi + 0x94]
cmp di, ax
jge 0x1001205f
test di, di
js 0x1001205f
push 4
push dword [esi + 0x4c]
call ebx
test eax, eax
jne 0x1001205f
mov eax, dword [esi + 0x4c]
movsx ecx, di
mov esi, dword [eax + ecx*4]
jmp 0x10012061
xor esi, esi
mov eax, dword [ebp + 8]
test eax, eax
mov dword [ebp - 8], esi
sete byte [0x1007238e]
cmp eax, 1
sete byte [0x10072212]
cmp eax, 2
sete byte [0x10051f9e]
cmp eax, 3
sete byte [0x100723a7]
cmp eax, 4
sete byte [0x10051532]
cmp eax, 5
sete byte [0x10051f9f]
cmp eax, 6
sete byte [0x1007238d]
cmp eax, 7
sete byte [0x1007238c]
cmp eax, 8
sete byte [0x1005149a]
cmp eax, 9
sete byte [0x10072213]
cmp eax, 0xa
sete byte [0x10051487]
cmp eax, 0xb
sete byte [0x10051486]
cmp eax, 0xc
sete byte [0x1005149b]
cmp eax, 0xd
sete byte [0x1007238f]
cmp eax, 0xe
sete byte [0x10051533]
test esi, esi
je 0x10012be8
push 4
lea edi, [esi + 0x78]
mov dword [0x1007223c], 0
push edi
mov dword [0x1007239c], 0
mov dword [0x100722e4], 0
mov dword [0x10052004], 0
mov dword [0x100720e4], 0
mov dword [0x10072214], 0
mov dword [0x100722e0], 0
mov dword [0x10072420], 0
mov dword [0x100723e0], 0
mov dword [0x10072248], 0
mov dword [0x100723f4], 0
mov dword [0x100722d4], 0
mov dword [0x10072338], 0
mov dword [0x10072274], 0
mov dword [0x10072260], 0
call ebx
test eax, eax
jne 0x10012be8
test edi, edi
je 0x10012be8
push 4
push edi
add esi, 0x1c0
call ebx
test eax, eax
jne 0x10012be8
mov edi, dword [edi]
push 4
lea ebx, [edi + 4]
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012be8
mov eax, dword [ebx]
push 4
push edi
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012be8
mov ecx, dword [edi + 8]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x10012a21
mov ecx, dword [ebp - 0x14]
push 4
mov edi, dword [ecx + eax*4]
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012a21
push 4
lea ebx, [edi + 8]
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012a21
mov eax, dword [ebx]
push 4
push eax
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012a21
cmp dword [0x100722b0], 0
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x10]
jne 0x10012406
cmp byte [0x1007238e], 0
je 0x10012406
mov ecx, dword [0x1007223c]
cmp ecx, 0x28
jge 0x10012406
cmp dword [0x1007230c], 0
je 0x10012406
cmp eax, 0x53
je 0x100123a5
cmp eax, 0x125
je 0x100123a5
cmp eax, 0x7b
je 0x100123a5
cmp eax, 0xda
je 0x100123a5
cmp eax, 0x38
je 0x100123a5
cmp eax, 0x39
je 0x100123a5
cmp eax, 0x7c
je 0x100123a5
cmp eax, 0xdc
je 0x100123a5
cmp eax, 0x5d5
je 0x100123a5
cmp eax, 0x243
je 0x100123a5
cmp eax, 0x245
je 0x100123a5
cmp eax, 0x5d9
je 0x100123a5
cmp eax, 0x7a
je 0x100123a5
cmp eax, 0xd8
je 0x100123a5
cmp eax, 0x5d3
je 0x100123a5
cmp eax, 0x24e
je 0x100123a5
cmp eax, 0x250
je 0x100123a5
cmp eax, 0x5da
je 0x100123a5
cmp eax, 0xd6
je 0x100123a5
cmp eax, 0x103
je 0x100123a5
cmp eax, 0x4a8
je 0x100123a5
cmp eax, 0x5d2
je 0x100123a5
cmp eax, 0x76
je 0x100123a5
cmp eax, 0xd4
je 0x100123a5
cmp eax, 0x5d1
je 0x100123a5
cmp eax, 0x78
je 0x100123a5
cmp eax, 0x162
je 0x100123a5
cmp eax, 0x5d8
je 0x100123a5
cmp eax, 0x9c
je 0x100123a5
cmp eax, 0xde
je 0x100123a5
cmp eax, 0x5d6
je 0x100123a5
cmp eax, 0x5d0
je 0x100123a5
cmp eax, 0x5e2
je 0x100123a5
cmp eax, 0x5e3
je 0x100123a5
cmp eax, 0x5e4
jne 0x10012406
cmp dword [edi + 0x78], 0xffffffff
jne 0x10012406
mov eax, dword [edi + 0x108]
mov eax, dword [eax + 8]
test eax, eax
je 0x100123da
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100123da
cmp eax, 1
je 0x100123da
cmp eax, 2
je 0x100123da
cmp eax, 0xd
je 0x100123da
cmp eax, 3
je 0x100123da
cmp eax, 0xe
jne 0x10012406
test ecx, ecx
jne 0x100123f6
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x1007223c], 1
jmp 0x10012406
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc ecx
mov dword [0x1007223c], ecx
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012a21
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012a21
mov ebx, dword [ebx]
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012a21
movzx eax, word [ebx + 0x10]
push 4
push edi
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012a21
movzx edx, byte [edi + 0x4e]
mov dword [ebp - 0xc], edx
cmp edx, 0x50
jne 0x100124a7
mov al, byte [edi + 0x48]
push 4
push dword [edi + 0x1a0]
mov byte [ebp + 0xb], al
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100124a4
cmp byte [ebp + 0xb], 2
je 0x100124a4
mov ebx, dword [0x10072338]
mov edx, dword [0x10072274]
mov ecx, dword [0x10072260]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0x10012202
jmp 0x10012a33
mov edx, dword [ebp - 0xc]
cmp byte [0x100723a7], 0
mov ecx, dword [ebp - 4]
je 0x100124fb
cmp dword [0x100722b0], 0
jne 0x100124fb
mov eax, dword [0x1007239c]
cmp eax, 0x28
jge 0x100124fb
cmp ecx, 0x6d
jne 0x100124fb
cmp edx, 0x50
jne 0x100124fb
test eax, eax
jne 0x100124ec
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x1007239c], 1
jmp 0x100124fb
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc dword [0x1007239c]
cmp byte [0x10072212], 0
movzx eax, word [ebx + 0x16]
je 0x100125d7
cmp dword [0x100722b0], 0
jne 0x100125d7
mov ebx, dword [0x100722e4]
cmp ebx, 0x28
jge 0x100125d7
cmp edx, 0x46
jne 0x100125d7
test eax, eax
je 0x10012576
cmp eax, 6
je 0x10012576
cmp eax, 0xc
je 0x10012576
cmp eax, 0x2f
je 0x10012576
cmp eax, 0xd
je 0x10012576
cmp eax, 0x37
je 0x10012576
cmp eax, 0x24
je 0x10012576
cmp eax, 0x12
je 0x10012576
cmp eax, 0x36
je 0x10012576
cmp eax, 0x33
je 0x10012576
cmp eax, 0x23
je 0x10012576
cmp eax, 0x17
je 0x10012576
cmp eax, 0x18
je 0x10012576
cmp eax, 0x2c
jne 0x100125d7
cmp dword [edi + 0x78], 0xffffffff
jne 0x100125d7
mov eax, dword [edi + 0x108]
mov eax, dword [eax + 8]
test eax, eax
je 0x100125ab
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100125ab
cmp eax, 1
je 0x100125ab
cmp eax, 2
je 0x100125ab
cmp eax, 0xd
je 0x100125ab
cmp eax, 3
je 0x100125ab
cmp eax, 0xe
jne 0x100125d7
test ebx, ebx
jne 0x100125c7
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x100722e4], 1
jmp 0x100125d7
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc ebx
mov dword [0x100722e4], ebx
cmp byte [0x1007238c], 0
je 0x10012630
cmp dword [0x100722b0], 0
jne 0x10012630
cmp edx, 0x50
jne 0x10012630
mov eax, dword [0x10052004]
cmp eax, 0x28
jge 0x10012630
cmp ecx, 0x31
je 0x10012605
cmp ecx, 0x96
jne 0x10012630
test eax, eax
jne 0x10012621
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10052004], 1
jmp 0x10012630
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10052004], eax
cmp byte [0x10051533], 0
je 0x100126ad
cmp dword [0x100722b0], 0
jne 0x100126ad
cmp edx, 0x50
jne 0x100126ad
mov eax, dword [0x100720e4]
cmp eax, 0x28
jge 0x100126ad
cmp ecx, 0x31
je 0x10012682
cmp ecx, 0x96
je 0x10012682
cmp ecx, 0xc
je 0x10012682
cmp ecx, 0x57
je 0x10012682
cmp ecx, 0x65
je 0x10012682
cmp ecx, 0x52
je 0x10012682
cmp ecx, 0x5c4
je 0x10012682
cmp ecx, 0x4dd
jne 0x100126ad
test eax, eax
jne 0x1001269e
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x100720e4], 1
jmp 0x100126ad
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x100720e4], eax
cmp byte [0x10051f9f], 0
je 0x100126fe
cmp dword [0x100722b0], 0
jne 0x100126fe
cmp edx, 0x50
jne 0x100126fe
mov eax, dword [0x10072214]
cmp eax, 0x28
jge 0x100126fe
cmp ecx, 0x57
jne 0x100126fe
test eax, eax
jne 0x100126ef
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10072214], 1
jmp 0x100126fe
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10072214], eax
cmp byte [0x10051486], 0
je 0x1001274f
cmp dword [0x100722b0], 0
jne 0x1001274f
cmp edx, 0x50
jne 0x1001274f
mov eax, dword [0x100722e0]
cmp eax, 0x28
jge 0x1001274f
cmp ecx, 0x52
jne 0x1001274f
test eax, eax
jne 0x10012740
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x100722e0], 1
jmp 0x1001274f
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x100722e0], eax
cmp byte [0x1007238f], 0
je 0x100127a3
cmp dword [0x100722b0], 0
jne 0x100127a3
cmp edx, 0x50
jne 0x100127a3
mov eax, dword [0x10072420]
cmp eax, 0x28
jge 0x100127a3
cmp ecx, 0x5c4
jne 0x100127a3
test eax, eax
jne 0x10012794
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10072420], 1
jmp 0x100127a3
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10072420], eax
cmp byte [0x1005149b], 0
je 0x100127f7
cmp dword [0x100722b0], 0
jne 0x100127f7
cmp edx, 0x50
jne 0x100127f7
mov eax, dword [0x100723e0]
cmp eax, 0x28
jge 0x100127f7
cmp ecx, 0x4dd
jne 0x100127f7
test eax, eax
jne 0x100127e8
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x100723e0], 1
jmp 0x100127f7
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x100723e0], eax
cmp byte [0x10072213], 0
je 0x10012848
cmp dword [0x100722b0], 0
jne 0x10012848
cmp edx, 0x50
jne 0x10012848
mov eax, dword [0x10072248]
cmp eax, 0x28
jge 0x10012848
cmp ecx, 0x54
jne 0x10012848
test eax, eax
jne 0x10012839
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10072248], 1
jmp 0x10012848
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10072248], eax
cmp byte [0x10051487], 0
je 0x10012899
cmp dword [0x100722b0], 0
jne 0x10012899
cmp edx, 0x50
jne 0x10012899
mov eax, dword [0x100723f4]
cmp eax, 0x28
jge 0x10012899
cmp ecx, 0x68
jne 0x10012899
test eax, eax
jne 0x1001288a
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x100723f4], 1
jmp 0x10012899
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x100723f4], eax
cmp byte [0x10051f9e], 0
je 0x100128fa
cmp dword [0x100722b0], 0
jne 0x100128fa
cmp edx, 0x46
jne 0x100128fa
mov eax, dword [0x100722d4]
cmp eax, 0x28
jge 0x100128fa
cmp ecx, 0x6c
je 0x100128cf
cmp ecx, 0x80
je 0x100128cf
cmp ecx, 0xcc
jne 0x100128fa
test eax, eax
jne 0x100128eb
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x100722d4], 1
jmp 0x100128fa
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x100722d4], eax
cmp byte [0x1005149a], 0
je 0x1001294f
cmp dword [0x100722b0], 0
jne 0x1001294f
cmp edx, 0x50
jne 0x1001294f
mov ebx, dword [0x10072338]
cmp ebx, 0x28
jge 0x10012955
cmp ecx, 0x2d
jne 0x10012955
test ebx, ebx
jne 0x1001293d
mov dword [esi], edi
mov ebx, 1
mov byte [edi + 0x36], bl
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10072338], ebx
jmp 0x10012955
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc ebx
mov dword [0x10072338], ebx
jmp 0x10012955
mov ebx, dword [0x10072338]
cmp byte [0x10051532], 0
je 0x100129aa
cmp dword [0x100722b0], 0
jne 0x100129aa
cmp edx, 0x50
jne 0x100129aa
mov edx, dword [0x10072274]
cmp edx, 0x28
jge 0x100129b0
cmp ecx, 0xc
jne 0x100129b0
test edx, edx
jne 0x10012998
mov dword [esi], edi
mov edx, 1
mov byte [edi + 0x36], dl
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10072274], edx
jmp 0x100129b0
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc edx
mov dword [0x10072274], edx
jmp 0x100129b0
mov edx, dword [0x10072274]
cmp byte [0x1007238d], 0
je 0x10012489
cmp dword [0x100722b0], 0
jne 0x10012489
cmp dword [ebp - 0xc], 0x50
jne 0x10012489
mov ecx, dword [0x10072260]
cmp ecx, 0x28
jge 0x1001248f
cmp dword [ebp - 4], 0x65
jne 0x1001248f
test ecx, ecx
jne 0x10012a0c
mov dword [esi], edi
mov ecx, 1
mov byte [edi + 0x36], cl
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10072260], ecx
jmp 0x1001248f
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc ecx
mov dword [0x10072260], ecx
jmp 0x1001248f
mov ebx, dword [0x10072338]
mov edx, dword [0x10072274]
mov ecx, dword [0x10072260]
cmp byte [0x1007238e], 0
je 0x10012a5e
cmp dword [0x1007230c], 0
je 0x10012a5e
cmp dword [0x100722b0], 0
mov esi, dword [ebp - 8]
jne 0x10012a61
mov al, byte [0x1007223c]
mov byte [esi + 0x268], al
jmp 0x10012a61
mov esi, dword [ebp - 8]
cmp byte [0x100723a7], 0
je 0x10012a7e
cmp dword [0x100722b0], 0
jne 0x10012a7e
mov al, byte [0x1007239c]
mov byte [esi + 0x268], al
cmp byte [0x10072212], 0
je 0x10012a9b
cmp dword [0x100722b0], 0
jne 0x10012a9b
mov eax, dword [0x100722e4]
mov byte [esi + 0x268], al
cmp byte [0x1007238c], 0
je 0x10012ab8
cmp dword [0x100722b0], 0
jne 0x10012ab8
mov eax, dword [0x10052004]
mov byte [esi + 0x268], al
cmp byte [0x10051533], 0
je 0x10012ad5
cmp dword [0x100722b0], 0
jne 0x10012ad5
mov eax, dword [0x100720e4]
mov byte [esi + 0x268], al
cmp byte [0x10051f9f], 0
je 0x10012af2
cmp dword [0x100722b0], 0
jne 0x10012af2
mov eax, dword [0x10072214]
mov byte [esi + 0x268], al
cmp byte [0x10051486], 0
je 0x10012b0f
cmp dword [0x100722b0], 0
jne 0x10012b0f
mov eax, dword [0x100722e0]
mov byte [esi + 0x268], al
cmp byte [0x1007238f], 0
je 0x10012b2c
cmp dword [0x100722b0], 0
jne 0x10012b2c
mov eax, dword [0x10072420]
mov byte [esi + 0x268], al
cmp byte [0x1005149b], 0
je 0x10012b49
cmp dword [0x100722b0], 0
jne 0x10012b49
mov eax, dword [0x100723e0]
mov byte [esi + 0x268], al
cmp byte [0x10072213], 0
je 0x10012b66
cmp dword [0x100722b0], 0
jne 0x10012b66
mov eax, dword [0x10072248]
mov byte [esi + 0x268], al
cmp byte [0x10051487], 0
je 0x10012b83
cmp dword [0x100722b0], 0
jne 0x10012b83
mov eax, dword [0x100723f4]
mov byte [esi + 0x268], al
cmp byte [0x10051f9e], 0
je 0x10012ba0
cmp dword [0x100722b0], 0
jne 0x10012ba0
mov eax, dword [0x100722d4]
mov byte [esi + 0x268], al
cmp byte [0x1005149a], 0
je 0x10012bb8
cmp dword [0x100722b0], 0
jne 0x10012bb8
mov byte [esi + 0x268], bl
cmp byte [0x10051532], 0
je 0x10012bd0
cmp dword [0x100722b0], 0
jne 0x10012bd0
mov byte [esi + 0x268], dl
cmp byte [0x1007238d], 0
je 0x10012be8
cmp dword [0x100722b0], 0
jne 0x10012be8
mov byte [esi + 0x268], cl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret