Function at 0x77468370
Capabilities:
Get process heap force flags

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov eax, dword [0x7753d344]
xor eax, esp
mov dword [esp + 0x40], eax
mov ecx, dword fs:[0x18]
push ebx
push esi
push edi
mov eax, dword [ecx + 0x30]
cmp dword [eax + 0x1f8], 0
je 0x774686d4
cmp dword [ebp + 0x14], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x40], 0
je 0x774b85ae
mov edx, dword [ebp + 8]
test edx, 0xfffffff8
jne 0x774b85ae
mov eax, dword [ebp + 0x18]
test dl, 7
je 0x774687fe
test eax, eax
je 0x774b85ae
cmp dword [eax], 0x24
jb 0x774b85ae
test dl, 2
je 0x77468405
mov ecx, dword [eax]
add ecx, eax
add eax, 0x2c
cmp eax, ecx
ja 0x774b84b2
mov eax, dword [ebp + 0x18]
test dl, 4
jne 0x774b84d3
mov esi, dword fs:[0x18]
xor ebx, ebx
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x2c], edx
mov edx, dword [esi + 0x30]
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], 0x18
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edx
jmp 0x77468460
mov eax, ecx
sub eax, 0
jne 0x774685ba
mov eax, dword [esi + 0x1a8]
test eax, eax
je 0x7746847f
mov eax, dword [eax]
test eax, eax
jne 0x774686e6
mov ebx, dword [edx + 0x1f8]
xor eax, eax
mov dword [esp + 0x10], eax
test ebx, ebx
je 0x774685cc
mov eax, 2
mov dword [esp + 0x38], eax
test ebx, ebx
je 0x774b851e
lea eax, [esp + 0x14]
mov edx, edi
push eax
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
push dword [ebp + 0x10]
call fcn.77468810
mov esi, eax
test esi, esi
js 0x774685f0
mov edx, dword [esp + 0x10]
xor ecx, ecx
cmp edx, 0xfffffffc
mov edi, edx
setne cl
xor eax, eax
dec ecx
and ecx, 2
test edx, edx
sete al
sub edi, 0xfffffffc
or ecx, eax
neg edi
mov dword [esp + 0x3c], ecx
sbb edi, edi
and edi, edx
xor esi, esi
test esi, esi
js 0x774b8525
mov eax, dword [esp + 0x14]
cmp eax, 0x2c
jb 0x774b858d
mov ebx, dword [ebp + 0x18]
jmp 0x77468510
mov ecx, dword [esp + 0x18]
cmp dword [ecx], 0x64487353
jne 0x774b8591
sub esp, 8
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x50]
push edx
push ebx
push dword [ebp + 0x14]
mov edx, eax
call fcn.77468970
mov esi, eax
test esi, esi
jns 0x77468713
cmp esi, 0xc0150008
jne 0x774685a4
mov esi, dword fs:[0x18]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x10], ecx
xor edx, edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x24], edx
mov eax, dword [esi + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov edi, edi
cmp eax, 2
jbe 0x7746861b
cmp eax, 3
ja 0x774b8583
test ecx, ecx
jne 0x77468663
mov esi, 0xc0150001
test esi, esi
jns 0x774686c2
cmp esi, 0xc0150001
jne 0x774685a4
mov esi, 0xc0150008
mov eax, esi
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.77494a40
mov esp, ebp
pop ebp
ret 0x14
sub eax, 1
je 0x7746847f
sub eax, 1
jne 0x774b850e
mov ebx, dword [edx + 0x200]
mov dword [esp + 0x10], 0xfffffffc
test ebx, ebx
je 0x774b850e
mov eax, 3
mov dword [esp + 0x38], eax
jmp 0x7746849c
xor edi, edi
cmp esi, 0xc0150001
jne 0x774684ee
mov ecx, dword [esp + 0x38]
cmp ecx, 3
je 0x774684ee
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edi, dword [ebp + 0xc]
jmp 0x77468460
mov edx, eax
sub edx, edi
je 0x774b8532
sub edx, 1
je 0x7746876d
sub edx, 1
jne 0x77468579
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], 0xfffffffc
mov ecx, dword [ecx + 0x200]
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x77468579
mov eax, 3
mov dword [esp + 0x38], eax
jmp 0x77468582
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x10]
call fcn.77468810
mov esi, eax
xor ecx, ecx
test esi, esi
js 0x77468797
mov edx, dword [esp + 0x24]
cmp edx, 0xfffffffc
setne cl
xor eax, eax
dec ecx
and ecx, 2
test edx, edx
sete al
or ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, edx
sub ecx, 0xfffffffc
neg ecx
sbb ecx, ecx
and ecx, edx
xor esi, esi
mov dword [esp + 0x20], ecx
test esi, esi
js 0x77468597
push ecx
call fcn.7747e160
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp eax, 0x2c
jae 0x77468510
jmp 0x774b858d
cmp dword [eax + 0x200], 0
jne 0x774683a0
jmp 0x774b8499
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
test eax, eax
je 0x774686fd
cmp eax, 0xfffffffc
je 0x774b8503
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x7746847f
mov eax, 1
mov dword [esp + 0x38], eax
jmp 0x7746849c
lea eax, [edi - 1]
or eax, 7
cmp eax, 0xffffffff
je 0x77468739
mov esi, dword [edi + 0x14]
test esi, esi
je 0x77468739
test byte [edi + 0x1c], 8
je 0x774687c7
test byte [edi + 0x3c], 8
je 0x774687c7
test ebx, ebx
je 0x77468766
push dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, ebx
mov ecx, dword [ebp + 8]
push dword [eax + 0x28]
push dword [eax + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
push edi
call fcn.7747e0d7
mov esi, eax
test esi, esi
js 0x774685a4
xor esi, esi
jmp 0x774685a4
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x1f8]
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x77468637
mov eax, 2
mov dword [esp + 0x38], eax
jmp 0x77468582
mov dword [esp + 0x20], ecx
cmp esi, 0xc0150001
jne 0x774686b0
mov eax, dword [esp + 0x38]
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp eax, 3
je 0x774686b0
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x48]
jmp 0x77468570
lea eax, [esp + 0xf]
mov byte [esp + 0xf], 0
push eax
push 0
push dword [edi + 0x18]
mov ecx, esi
push dword [edi + 0x10]
push edi
push 3
call dword [0x775391d0]
call esi
or dword [edi + 0x1c], 8
cmp byte [esp + 0xf], 0
je 0x77468739
or dword [edi + 0x3c], 8
jmp 0x77468739
test eax, eax
jne 0x774683e5
jmp 0x774683ee
mov eax, dword [ecx + 0x1a8]
cmp dword [eax], 0
jne 0x774683a0
mov eax, 0xc0150001
jmp 0x774685a6
mov esi, 0xc000000d
push esi
push 0x77427464
push 0x77427498
push 0
push 0x33
call fcn.77445380
add esp, 0x14
jmp 0x774685a4
mov ecx, dword [eax]
add ecx, eax
add eax, 0x40
cmp eax, ecx
jbe 0x7746840e
mov esi, 0xc000000d
push esi
push 0x77427464
push 0x77427500
push 0
push 0x33
call fcn.77445380
add esp, 0x14
jmp 0x774685a4
mov ebx, dword [edx + 0x200]
jmp 0x774686fd
cmp ecx, 3
jbe 0x7746849c
mov esi, 0xc00000e5
jmp 0x774b8523
mov esi, 0xc0150001
xor edi, edi
test esi, esi
js 0x774685a4
jmp 0x774684f6
mov edx, dword [esi + 0x1a8]
test edx, edx
je 0x7746876d
mov edx, dword [edx]
test edx, edx
je 0x7746876d
mov edx, dword [edx + 4]
mov dword [esp + 0x24], edx
test edx, edx
je 0x774b856d
cmp edx, 0xfffffffc
jne 0x774b8566
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x200]
jmp 0x774b8569
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x7746876d
mov eax, 1
mov dword [esp + 0x38], eax
jmp 0x77468582
mov esi, 0xc00000e5
jmp 0x7746858f
mov ecx, dword [esp + 0x18]
push eax
push ecx
push 0x774303c8
push 0
push 0x33
call fcn.77445380
add esp, 0x14
mov esi, 0xc0150003
jmp 0x774685a4
mov esi, 0xc000000d
jmp 0x774685a4