Function at 0x102795f4
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, 0x217c
call fcn.102a4cc4
push ebx
push ebp
mov ebp, dword [esp + reloc.KERNEL32.dll_GetCurrentThreadId]
xor eax, eax
push esi
cmp ebp, eax
push edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], eax
je 0x1027976d
cmp dword [esp + reloc.KERNEL32.dll_GetCurrentThreadId], eax
je 0x1027976d
cmp dword [esp + reloc.KERNEL32.dll_GetCurrentThreadId], eax
je 0x1027976d
mov ebx, dword [ebp + 0x18]
lea eax, [esp + 0x34]
push eax
lea esi, [ebx + 0xa8]
mov dword [esp + 0x14], esi
call fcn.10282174
mov edi, dword [esi + 4]
add esp, 4
test edi, edi
je 0x1027966c
push edi
call fcn.1027bd64
push edi
mov dword [esi + 4], eax
call fcn.102a4ee2
add esp, 8
mov eax, dword [esi]
test eax, eax
jne 0x1027979f
mov ecx, dword [esi + 8]
push ecx
call fcn.1027fec4
add esp, 4
test eax, eax
jne 0x10279791
mov edx, dword [esi + 8]
push 0x103531a8
push edx
call fcn.102a5574
add esp, 8
test eax, eax
je 0x102796f5
sub eax, dword [esi + 8]
mov edi, eax
mov dword [esp + 0x14], edi
lea eax, [edi + 1]
push eax
call fcn.102a4fcb
mov esi, dword [esi + 8]
mov ecx, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x20], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 8]
lea eax, [ecx + edx + 1]
push eax
call fcn.102a429c
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
add esp, 8
mov word [ebx + 0x42c], ax
jmp 0x10279703
mov ecx, dword [esi + 8]
push ecx
call fcn.102a7465
add esp, 4
mov edi, eax
push edi
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
push 0x1035332c
push edx
call fcn.102a633c
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push 0
push eax
push ebp
call fcn.10280094
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push eax
push edi
call fcn.1027fe74
add esp, 0x20
test eax, eax
jne 0x1027977b
push edi
lea ecx, reloc.KERNEL32.dll_GetCurrentThreadId
push 0x10353318
push ecx
call fcn.102a633c
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
push 3
push edx
push ebp
call fcn.10280094
add esp, 0x18
test edi, edi
je 0x1027976d
push edi
call fcn.102a4ee2
add esp, 4
or eax, reloc.KERNEL32.dll_GetCurrentThreadId
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
test edi, edi
je 0x102798cb
push edi
call fcn.102a4ee2
add esp, 4
jmp 0x102798cb
mov edi, dword [esi + 8]
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
jmp 0x102798aa
push 0x3a
push eax
call fcn.1027b854
mov edi, eax
add esp, 8
cmp edi, reloc.KERNEL32.dll_GetCurrentThreadId
mov dword [esp + 0x14], edi
je 0x102797cb
mov ecx, dword [esi]
add ecx, edi
push ecx
call fcn.102a429c
add esp, 4
mov word [ebx + 0x42c], ax
jmp 0x102797e5
mov edi, dword [esi]
or ecx, reloc.KERNEL32.dll_GetCurrentThreadId
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov dword [esp + 0x14], ecx
mov word [ebx + 0x42c], 0x50
mov edi, ecx
mov esi, dword [esi]
mov ecx, edi
mov edx, ecx
lea edi, [esp + 0x8c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x8c]
mov byte [esp + eax + 0x8b], 0
push ecx
call fcn.1027fec4
add esp, 4
test eax, eax
jne 0x1027989d
lea edx, [esp + 0x8c]
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push edx
push 0x103532fc
push eax
call fcn.102a633c
lea ecx, reloc.KERNEL32.dll_GetCurrentThreadId
push 0
push ecx
push ebp
call fcn.10280094
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
lea edx, [esp + 0xa4]
push eax
push edx
call fcn.1027fe74
add esp, 0x20
test eax, eax
jne 0x102798c7
mov eax, dword [esp + 0x10]
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
mov ecx, dword [eax]
push ecx
push 0x103532e0
push edx
call fcn.102a633c
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push 3
push eax
push ebp
call fcn.10280094
add esp, 0x18
or eax, reloc.KERNEL32.dll_GetCurrentThreadId
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
lea edi, [esp + 0x8c]
or ecx, reloc.KERNEL32.dll_GetCurrentThreadId
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
cmp dword [esi], 0
jne 0x102798f0
xor ecx, ecx
lea edi, reloc.KERNEL32.dll_GetCurrentThreadId
mov cx, word [ebx + 0x42c]
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
push ecx
push edi
push 0x103532cc
push edx
jmp 0x1027990e
xor eax, eax
lea edi, reloc.KERNEL32.dll_GetCurrentThreadId
mov ax, word [ebx + 0x42c]
lea ecx, reloc.KERNEL32.dll_GetCurrentThreadId
push eax
push edi
push 0x103532b0
push ecx
call fcn.102a633c
add esp, 0x10
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
push 0
push edx
push ebp
call fcn.10280094
mov cx, word [ebx + 0x42c]
mov edx, dword [ebp + 0xc]
lea eax, [ebx + 4]
push 1
push eax
mov eax, dword [ebx + 0x3c]
push eax
push ecx
push edi
push edx
call fcn.1027f744
add esp, 0x24
test eax, eax
je 0x102799b2
cmp eax, 0xffffffec
je 0x1027976d
cmp eax, 0xfffffff5
jne 0x10279971
xor eax, eax
lea ecx, reloc.KERNEL32.dll_GetCurrentThreadId
mov ax, word [ebx + 0x42c]
push eax
push edi
push 0x1035329c
push ecx
jmp 0x10279989
xor edx, edx
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
mov dx, word [ebx + 0x42c]
push edx
push edi
push 0x10353288
push eax
call fcn.102a633c
add esp, 0x10
lea ecx, reloc.KERNEL32.dll_GetCurrentThreadId
push 3
push ecx
push ebp
call fcn.10280094
add esp, 0xc
or eax, reloc.KERNEL32.dll_GetCurrentThreadId
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
xor edx, edx
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
mov dx, word [ebx + 0x42c]
push edx
push edi
push 0x10353274
push eax
call fcn.102a633c
lea ecx, reloc.KERNEL32.dll_GetCurrentThreadId
push 0
push ecx
push ebp
call fcn.10280094
mov ecx, 7
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10280c94
mov esi, eax
lea edx, [esp + 0x50]
push esi
push edx
call fcn.102824b4
push esi
call fcn.102a4ee2
lea eax, [esp + 0x5c]
push eax
call fcn.10282454
add esp, 0x2c
mov esi, 1
lea ecx, [esp + 0x34]
push esi
push ecx
call fcn.10282454
add esp, 4
push eax
push ebp
call fcn.10280094
mov edx, dword [ebx + 0x40]
add esp, 0xc
lea eax, [esp + 0x34]
push edx
push eax
call fcn.10282454
mov ecx, dword [ebp + 0xc]
add esp, 4
push eax
push ecx
call fcn.10281814
add esp, 0xc
test eax, eax
jne 0x10279a7f
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
push 0x10353264
push edx
call fcn.102a633c
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push 3
push eax
push ebp
call fcn.10280094
add esp, 0x14
or eax, reloc.KERNEL32.dll_GetCurrentThreadId
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
mov edx, dword [esp + 0x20]
push 0
lea ecx, [esp + 0x20]
push 0
push ecx
mov ecx, dword [ebx + 0x44]
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
mov edx, dword [ebp + 0xc]
push eax
push ecx
push 0x1000
push 0x1000
push ebp
push edx
mov dword [esp + 0x40], esi
call fcn.1027fa94
add esp, 0x24
mov dword [esp + 0x20], eax
test eax, eax
jl 0x10279d9d
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10279d9d
cmp dword [ebx + 4], esi
je 0x10279d9d
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x44]
add edx, eax
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push eax
push ecx
mov dword [esp + 0x20], edx
call fcn.10280f24
mov edx, eax
add esp, 8
mov ecx, dword [edx]
test ecx, ecx
mov eax, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov edx, dword [edx + 8]
mov dword [esp + 0x2c], edx
je 0x10279a7f
cmp eax, 0x1001
jg 0x10279ccc
mov ecx, eax
lea esi, reloc.KERNEL32.dll_GetCurrentThreadId
mov edx, ecx
lea edi, reloc.KERNEL32.dll_GetCurrentThreadId
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 2
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [esp + eax + 0x190], 0
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push eax
push ebp
call fcn.10280094
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.10280fc4
mov ecx, 0xf
mov esi, eax
lea edi, [esp + 0x64]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xf
lea esi, [esp + 0x64]
lea edi, [ebp + 0x4c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x84]
push eax
call fcn.10281854
mov esi, eax
add esp, 0x18
test esi, esi
je 0x10279bae
lea edi, reloc.KERNEL32.dll_GetCurrentThreadId
push edi
call fcn.10280bf4
add esp, 4
test eax, eax
jne 0x10279bae
push edi
push esi
push edi
call fcn.10280c14
add esp, 0xc
mov eax, dword [ebp + 0x50]
lea esi, [eax - 0xc8]
cmp esi, 0xcc
ja case.0x10279bcb.203
xor ecx, ecx
mov cl, byte [esi + 0x10279dc8]
jmp dword [ecx*4 + 0x10279db8]
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x10279cfe
push eax
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
push 0x10353254
push edx
call fcn.102a633c
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push 3
push eax
push ebp
call fcn.10280094
mov eax, dword [esp + 0x28]
push 0
mov ecx, dword [eax]
push ecx
lea ecx, [ebp + 0x4c]
push ecx
push eax
call fcn.10281364
add esp, 0x28
test eax, eax
je 0x10279d1b
mov edx, dword [ebp + 0xc]
push edx
call fcn.1027f734
call fcn.1027f6f4
push ebp
mov dword [ebp + 0xc], eax
call fcn.1027b004
mov eax, dword [esp + reloc.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [esp + reloc.KERNEL32.dll_GetCurrentThreadId]
push eax
push ecx
push ebp
call fcn.102795f4
add esp, 0x14
cmp eax, 1
jne 0x10279770
jmp 0x10279c5d
mov eax, dword [esp + 0x30]
mov edx, dword [ebp + 0x54]
test eax, eax
mov dword [ebx + 0x14], edx
jne 0x10279ca0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10279cbd
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + reloc.KERNEL32.dll_GetCurrentThreadId]
sub eax, edx
mov ecx, eax
lea esi, reloc.KERNEL32.dll_GetCurrentThreadId
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + reloc.KERNEL32.dll_GetCurrentThreadId]
mov dword [ecx], eax
lea eax, [esp + 0x34]
push eax
call fcn.102823a4
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
mov edx, dword [esp + reloc.KERNEL32.dll_GetCurrentThreadId]
mov dword [edx], 0
jmp 0x10279ca0
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push 0x1035323c
push eax
call fcn.102a633c
lea ecx, reloc.KERNEL32.dll_GetCurrentThreadId
push 3
push ecx
push ebp
call fcn.10280094
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
push 3
push 0x10353228
push ebp
call fcn.10280094
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
push 3
push 0x103531f8
push ebp
call fcn.10280094
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
push 0x103531ec
push edx
call fcn.102a633c
lea eax, reloc.KERNEL32.dll_GetCurrentThreadId
push 3
push eax
push ebp
call fcn.10280094
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
push eax
lea ecx, reloc.KERNEL32.dll_GetCurrentThreadId
push 0x103531cc
push ecx
call fcn.102a633c
lea edx, reloc.KERNEL32.dll_GetCurrentThreadId
push 3
push edx
push ebp
call fcn.10280094
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret
push eax
push ebp
call fcn.10281f64
add esp, 8
or eax, reloc.KERNEL32.dll_GetCurrentThreadId
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x217c
ret