Function at 0x10032840
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x7912a0]
sub esp, 0x1c
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push esi
mov esi, dword [eax + 0x424]
push edi
test esi, esi
je 0x1003288f
movzx eax, word [esi + 0x48]
cmp ax, 1
jl 0x1003288f
movzx edi, word [esi + 0x94]
cmp di, ax
jge 0x1003288f
test di, di
js 0x1003288f
push 4
push dword [esi + 0x4c]
call ebx
test eax, eax
jne 0x1003288f
mov eax, dword [esi + 0x4c]
movsx ecx, di
mov esi, dword [eax + ecx*4]
jmp 0x10032891
xor esi, esi
mov eax, dword [ebp + 8]
test eax, eax
mov dword [ebp - 8], esi
sete byte [0x1007428b]
cmp eax, 1
sete byte [0x10095231]
cmp eax, 2
sete byte [0x10095103]
cmp eax, 3
sete byte [0x100742de]
cmp eax, 4
sete byte [0x10074de7]
cmp eax, 5
sete byte [0x10095230]
cmp eax, 6
sete byte [0x1007428a]
cmp eax, 7
sete byte [0x10095233]
cmp eax, 8
sete byte [0x10074377]
cmp eax, 9
sete byte [0x10095232]
cmp eax, 0xa
sete byte [0x10074376]
cmp eax, 0xb
sete byte [0x100742df]
cmp eax, 0xc
sete byte [0x10074de6]
cmp eax, 0xd
sete byte [0x100742ae]
cmp eax, 0xe
sete byte [0x10095102]
test esi, esi
je 0x10033425
push 4
lea edi, [esi + 0x78]
mov dword [0x1009512c], 0
push edi
mov dword [0x1009528c], 0
mov dword [0x100951d4], 0
mov dword [0x10074ef4], 0
mov dword [0x10094fd4], 0
mov dword [0x10095104], 0
mov dword [0x100951d0], 0
mov dword [0x10074e9c], 0
mov dword [0x10074e5c], 0
mov dword [0x10095138], 0
mov dword [0x10074e70], 0
mov dword [0x100951c4], 0
mov dword [0x10095228], 0
mov dword [0x10095164], 0
mov dword [0x10095150], 0
call ebx
test eax, eax
jne 0x10033425
test edi, edi
je 0x10033425
push 4
push edi
add esi, 0x1c0
call ebx
test eax, eax
jne 0x10033425
mov edi, dword [edi]
push 4
lea ebx, [edi + 4]
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10033425
mov eax, dword [ebx]
push 4
push edi
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10033425
mov ecx, dword [edi + 8]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x1003325e
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 0x1003325e
push 4
lea ebx, [edi + 8]
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003325e
mov eax, dword [ebx]
push 4
push eax
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003325e
cmp dword [0x100951a0], 0
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x10]
jne 0x10032c36
cmp byte [0x1007428b], 0
je 0x10032c36
mov ecx, dword [0x1009512c]
cmp ecx, 0x28
jge 0x10032c36
cmp dword [0x100951fc], 0
je 0x10032c36
cmp eax, 0x53
je 0x10032bd5
cmp eax, 0x125
je 0x10032bd5
cmp eax, 0x7b
je 0x10032bd5
cmp eax, 0xda
je 0x10032bd5
cmp eax, 0x38
je 0x10032bd5
cmp eax, 0x39
je 0x10032bd5
cmp eax, 0x7c
je 0x10032bd5
cmp eax, 0xdc
je 0x10032bd5
cmp eax, 0x5d5
je 0x10032bd5
cmp eax, 0x243
je 0x10032bd5
cmp eax, 0x245
je 0x10032bd5
cmp eax, 0x5d9
je 0x10032bd5
cmp eax, 0x7a
je 0x10032bd5
cmp eax, 0xd8
je 0x10032bd5
cmp eax, 0x5d3
je 0x10032bd5
cmp eax, 0x24e
je 0x10032bd5
cmp eax, 0x250
je 0x10032bd5
cmp eax, 0x5da
je 0x10032bd5
cmp eax, 0xd6
je 0x10032bd5
cmp eax, 0x103
je 0x10032bd5
cmp eax, 0x4a8
je 0x10032bd5
cmp eax, 0x5d2
je 0x10032bd5
cmp eax, 0x76
je 0x10032bd5
cmp eax, 0xd4
je 0x10032bd5
cmp eax, 0x5d1
je 0x10032bd5
cmp eax, 0x78
je 0x10032bd5
cmp eax, 0x162
je 0x10032bd5
cmp eax, 0x5d8
je 0x10032bd5
cmp eax, 0x9c
je 0x10032bd5
cmp eax, 0xde
je 0x10032bd5
cmp eax, 0x5d6
je 0x10032bd5
cmp eax, 0x5d0
je 0x10032bd5
cmp eax, 0x5e2
je 0x10032bd5
cmp eax, 0x5e3
je 0x10032bd5
cmp eax, 0x5e4
jne 0x10032c36
cmp dword [edi + 0x78], 0xffffffff
jne 0x10032c36
mov eax, dword [edi + 0x108]
mov eax, dword [eax + 8]
test eax, eax
je 0x10032c0a
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10032c0a
cmp eax, 1
je 0x10032c0a
cmp eax, 2
je 0x10032c0a
cmp eax, 0xd
je 0x10032c0a
cmp eax, 3
je 0x10032c0a
cmp eax, 0xe
jne 0x10032c36
test ecx, ecx
jne 0x10032c26
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x1009512c], 1
jmp 0x10032c36
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc ecx
mov dword [0x1009512c], ecx
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003325e
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003325e
mov ebx, dword [ebx]
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003325e
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 0x1003325e
movzx edx, byte [edi + 0x4e]
mov dword [ebp - 0xc], edx
cmp edx, 0x50
jne 0x10032ce4
mov al, byte [edi + 0x48]
mov byte [ebp + 0xb], al
mov eax, dword [edi + 0x1a0]
push 4
push eax
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10032ce1
cmp byte [ebp + 0xb], 2
jne 0x10032cba
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0
je 0x10032ce1
mov ebx, dword [0x10095228]
mov edx, dword [0x10095164]
mov ecx, dword [0x10095150]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x1c]
jl 0x10032a32
jmp 0x10033270
mov edx, dword [ebp - 0xc]
cmp byte [0x100742de], 0
mov ecx, dword [ebp - 4]
je 0x10032d38
cmp dword [0x100951a0], 0
jne 0x10032d38
mov eax, dword [0x1009528c]
cmp eax, 0x28
jge 0x10032d38
cmp ecx, 0x6d
jne 0x10032d38
cmp edx, 0x50
jne 0x10032d38
test eax, eax
jne 0x10032d29
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x1009528c], 1
jmp 0x10032d38
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc dword [0x1009528c]
cmp byte [0x10095231], 0
movzx eax, word [ebx + 0x16]
je 0x10032e14
cmp dword [0x100951a0], 0
jne 0x10032e14
mov ebx, dword [0x100951d4]
cmp ebx, 0x28
jge 0x10032e14
cmp edx, 0x46
jne 0x10032e14
test eax, eax
je 0x10032db3
cmp eax, 6
je 0x10032db3
cmp eax, 0xc
je 0x10032db3
cmp eax, 0x2f
je 0x10032db3
cmp eax, 0xd
je 0x10032db3
cmp eax, 0x37
je 0x10032db3
cmp eax, 0x24
je 0x10032db3
cmp eax, 0x12
je 0x10032db3
cmp eax, 0x36
je 0x10032db3
cmp eax, 0x33
je 0x10032db3
cmp eax, 0x23
je 0x10032db3
cmp eax, 0x17
je 0x10032db3
cmp eax, 0x18
je 0x10032db3
cmp eax, 0x2c
jne 0x10032e14
cmp dword [edi + 0x78], 0xffffffff
jne 0x10032e14
mov eax, dword [edi + 0x108]
mov eax, dword [eax + 8]
test eax, eax
je 0x10032de8
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10032de8
cmp eax, 1
je 0x10032de8
cmp eax, 2
je 0x10032de8
cmp eax, 0xd
je 0x10032de8
cmp eax, 3
je 0x10032de8
cmp eax, 0xe
jne 0x10032e14
test ebx, ebx
jne 0x10032e04
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x100951d4], 1
jmp 0x10032e14
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc ebx
mov dword [0x100951d4], ebx
cmp byte [0x10095233], 0
je 0x10032e6d
cmp dword [0x100951a0], 0
jne 0x10032e6d
cmp edx, 0x50
jne 0x10032e6d
mov eax, dword [0x10074ef4]
cmp eax, 0x28
jge 0x10032e6d
cmp ecx, 0x31
je 0x10032e42
cmp ecx, 0x96
jne 0x10032e6d
test eax, eax
jne 0x10032e5e
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10074ef4], 1
jmp 0x10032e6d
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10074ef4], eax
cmp byte [0x10095102], 0
je 0x10032eea
cmp dword [0x100951a0], 0
jne 0x10032eea
cmp edx, 0x50
jne 0x10032eea
mov eax, dword [0x10094fd4]
cmp eax, 0x28
jge 0x10032eea
cmp ecx, 0x31
je 0x10032ebf
cmp ecx, 0x96
je 0x10032ebf
cmp ecx, 0xc
je 0x10032ebf
cmp ecx, 0x57
je 0x10032ebf
cmp ecx, 0x65
je 0x10032ebf
cmp ecx, 0x52
je 0x10032ebf
cmp ecx, 0x5c4
je 0x10032ebf
cmp ecx, 0x4dd
jne 0x10032eea
test eax, eax
jne 0x10032edb
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10094fd4], 1
jmp 0x10032eea
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10094fd4], eax
cmp byte [0x10095230], 0
je 0x10032f3b
cmp dword [0x100951a0], 0
jne 0x10032f3b
cmp edx, 0x50
jne 0x10032f3b
mov eax, dword [0x10095104]
cmp eax, 0x28
jge 0x10032f3b
cmp ecx, 0x57
jne 0x10032f3b
test eax, eax
jne 0x10032f2c
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10095104], 1
jmp 0x10032f3b
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10095104], eax
cmp byte [0x100742df], 0
je 0x10032f8c
cmp dword [0x100951a0], 0
jne 0x10032f8c
cmp edx, 0x50
jne 0x10032f8c
mov eax, dword [0x100951d0]
cmp eax, 0x28
jge 0x10032f8c
cmp ecx, 0x52
jne 0x10032f8c
test eax, eax
jne 0x10032f7d
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x100951d0], 1
jmp 0x10032f8c
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x100951d0], eax
cmp byte [0x100742ae], 0
je 0x10032fe0
cmp dword [0x100951a0], 0
jne 0x10032fe0
cmp edx, 0x50
jne 0x10032fe0
mov eax, dword [0x10074e9c]
cmp eax, 0x28
jge 0x10032fe0
cmp ecx, 0x5c4
jne 0x10032fe0
test eax, eax
jne 0x10032fd1
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10074e9c], 1
jmp 0x10032fe0
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10074e9c], eax
cmp byte [0x10074de6], 0
je 0x10033034
cmp dword [0x100951a0], 0
jne 0x10033034
cmp edx, 0x50
jne 0x10033034
mov eax, dword [0x10074e5c]
cmp eax, 0x28
jge 0x10033034
cmp ecx, 0x4dd
jne 0x10033034
test eax, eax
jne 0x10033025
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10074e5c], 1
jmp 0x10033034
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10074e5c], eax
cmp byte [0x10095232], 0
je 0x10033085
cmp dword [0x100951a0], 0
jne 0x10033085
cmp edx, 0x50
jne 0x10033085
mov eax, dword [0x10095138]
cmp eax, 0x28
jge 0x10033085
cmp ecx, 0x54
jne 0x10033085
test eax, eax
jne 0x10033076
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10095138], 1
jmp 0x10033085
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10095138], eax
cmp byte [0x10074376], 0
je 0x100330d6
cmp dword [0x100951a0], 0
jne 0x100330d6
cmp edx, 0x50
jne 0x100330d6
mov eax, dword [0x10074e70]
cmp eax, 0x28
jge 0x100330d6
cmp ecx, 0x68
jne 0x100330d6
test eax, eax
jne 0x100330c7
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10074e70], 1
jmp 0x100330d6
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x10074e70], eax
cmp byte [0x10095103], 0
je 0x10033137
cmp dword [0x100951a0], 0
jne 0x10033137
cmp edx, 0x46
jne 0x10033137
mov eax, dword [0x100951c4]
cmp eax, 0x28
jge 0x10033137
cmp ecx, 0x6c
je 0x1003310c
cmp ecx, 0x80
je 0x1003310c
cmp ecx, 0xcc
jne 0x10033137
test eax, eax
jne 0x10033128
mov dword [esi], edi
mov byte [edi + 0x36], 1
mov dword [esi + 4], edi
add esi, 8
mov dword [0x100951c4], 1
jmp 0x10033137
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc eax
mov dword [0x100951c4], eax
cmp byte [0x10074377], 0
je 0x1003318c
cmp dword [0x100951a0], 0
jne 0x1003318c
cmp edx, 0x50
jne 0x1003318c
mov ebx, dword [0x10095228]
cmp ebx, 0x28
jge 0x10033192
cmp ecx, 0x2d
jne 0x10033192
test ebx, ebx
jne 0x1003317a
mov dword [esi], edi
mov ebx, 1
mov byte [edi + 0x36], bl
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10095228], ebx
jmp 0x10033192
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc ebx
mov dword [0x10095228], ebx
jmp 0x10033192
mov ebx, dword [0x10095228]
cmp byte [0x10074de7], 0
je 0x100331e7
cmp dword [0x100951a0], 0
jne 0x100331e7
cmp edx, 0x50
jne 0x100331e7
mov edx, dword [0x10095164]
cmp edx, 0x28
jge 0x100331ed
cmp ecx, 0xc
jne 0x100331ed
test edx, edx
jne 0x100331d5
mov dword [esi], edi
mov edx, 1
mov byte [edi + 0x36], dl
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10095164], edx
jmp 0x100331ed
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc edx
mov dword [0x10095164], edx
jmp 0x100331ed
mov edx, dword [0x10095164]
cmp byte [0x1007428a], 0
je 0x10032cc6
cmp dword [0x100951a0], 0
jne 0x10032cc6
cmp dword [ebp - 0xc], 0x50
jne 0x10032cc6
mov ecx, dword [0x10095150]
cmp ecx, 0x28
jge 0x10032ccc
cmp dword [ebp - 4], 0x65
jne 0x10032ccc
test ecx, ecx
jne 0x10033249
mov dword [esi], edi
mov ecx, 1
mov byte [edi + 0x36], cl
mov dword [esi + 4], edi
add esi, 8
mov dword [0x10095150], ecx
jmp 0x10032ccc
mov byte [edi + 0x36], 1
mov dword [esi], edi
add esi, 4
inc ecx
mov dword [0x10095150], ecx
jmp 0x10032ccc
mov ebx, dword [0x10095228]
mov edx, dword [0x10095164]
mov ecx, dword [0x10095150]
cmp byte [0x1007428b], 0
je 0x1003329b
cmp dword [0x100951fc], 0
je 0x1003329b
cmp dword [0x100951a0], 0
mov esi, dword [ebp - 8]
jne 0x1003329e
mov al, byte [0x1009512c]
mov byte [esi + 0x268], al
jmp 0x1003329e
mov esi, dword [ebp - 8]
cmp byte [0x100742de], 0
je 0x100332bb
cmp dword [0x100951a0], 0
jne 0x100332bb
mov al, byte [0x1009528c]
mov byte [esi + 0x268], al
cmp byte [0x10095231], 0
je 0x100332d8
cmp dword [0x100951a0], 0
jne 0x100332d8
mov eax, dword [0x100951d4]
mov byte [esi + 0x268], al
cmp byte [0x10095233], 0
je 0x100332f5
cmp dword [0x100951a0], 0
jne 0x100332f5
mov eax, dword [0x10074ef4]
mov byte [esi + 0x268], al
cmp byte [0x10095102], 0
je 0x10033312
cmp dword [0x100951a0], 0
jne 0x10033312
mov eax, dword [0x10094fd4]
mov byte [esi + 0x268], al
cmp byte [0x10095230], 0
je 0x1003332f
cmp dword [0x100951a0], 0
jne 0x1003332f
mov eax, dword [0x10095104]
mov byte [esi + 0x268], al
cmp byte [0x100742df], 0
je 0x1003334c
cmp dword [0x100951a0], 0
jne 0x1003334c
mov eax, dword [0x100951d0]
mov byte [esi + 0x268], al
cmp byte [0x100742ae], 0
je 0x10033369
cmp dword [0x100951a0], 0
jne 0x10033369
mov eax, dword [0x10074e9c]
mov byte [esi + 0x268], al
cmp byte [0x10074de6], 0
je 0x10033386
cmp dword [0x100951a0], 0
jne 0x10033386
mov eax, dword [0x10074e5c]
mov byte [esi + 0x268], al
cmp byte [0x10095232], 0
je 0x100333a3
cmp dword [0x100951a0], 0
jne 0x100333a3
mov eax, dword [0x10095138]
mov byte [esi + 0x268], al
cmp byte [0x10074376], 0
je 0x100333c0
cmp dword [0x100951a0], 0
jne 0x100333c0
mov eax, dword [0x10074e70]
mov byte [esi + 0x268], al
cmp byte [0x10095103], 0
je 0x100333dd
cmp dword [0x100951a0], 0
jne 0x100333dd
mov eax, dword [0x100951c4]
mov byte [esi + 0x268], al
cmp byte [0x10074377], 0
je 0x100333f5
cmp dword [0x100951a0], 0
jne 0x100333f5
mov byte [esi + 0x268], bl
cmp byte [0x10074de7], 0
je 0x1003340d
cmp dword [0x100951a0], 0
jne 0x1003340d
mov byte [esi + 0x268], dl
cmp byte [0x1007428a], 0
je 0x10033425
cmp dword [0x100951a0], 0
jne 0x10033425
mov byte [esi + 0x268], cl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret