Function at 0x410754
Capabilities:
Get process heap force flags

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x1e0
mov ebx, 0x41d1f8
mov ebp, ecx
mov eax, dword [ebx]
cmp eax, 0x255be0d1
je 0x410fe9
cmp byte [eax + 0xb], 0
je 0x410782
mov ecx, ebp
test cl, cl
je 0x410c73
lea ebp, [esp + 0x48]
push 0x11c
push 0
push ebp
call fcn.00413670
add esp, 0xc
mov eax, 0x10154545
mov edx, 0x51a0195c
mov dword [esp + 0x48], 0x11c
push eax
push eax
call fcn.00413044
test eax, eax
je 0x4107b6
push ebp
int3
mov esi, dword [ebx]
xor edx, edx
lea eax, [esp + 0x4c]
mov ecx, dword [eax]
movzx ebp, cl
mov byte [esi + 8], cl
mov ecx, dword [eax + 4]
shl ebp, 4
mov byte [esi + 9], cl
movzx ecx, cl
cmp byte [eax + 0x116], 1
mov al, byte [eax + 0x110]
mov edi, dword [esp + 0x54]
setne dl
mov byte [esi + 0xa], al
lea eax, [ecx + ebp - 0x50]
mov dword [esi + 4], edi
mov byte [esi + 0xc], dl
mov dword [esi], eax
call fcn.0041101c
mov ecx, dword [ebx]
mov edx, 0x8335dc52
mov dword [esp + 0x198], 0
push eax
push eax
mov byte [ecx + 0xb], al
mov eax, 0x8b9d0da7
call fcn.00413044
mov edx, eax
test edx, edx
je 0x4108ab
lea eax, [esp + 0x198]
push eax
push 8
push 0xffffffffffffffff
call edx
test eax, eax
je 0x410e02
mov ecx, dword [esp + 0x198]
mov eax, 0x8b9d0da7
mov edx, 0x6ca672fa
mov dword [esp + 0x14], ecx
mov byte [esp + 0x18], 1
mov dword [esp + 0x1a0], 0
push eax
push eax
call fcn.00413044
mov ecx, eax
test ecx, ecx
je 0x41088c
xor edx, edx
lea eax, [esp + 0x1a0]
push eax
push edx
push edx
push 2
push dword [esp + 0x1a8]
call ecx
test eax, eax
je 0x410c7e
mov eax, dword [esp + 0x1a0]
test eax, eax
jne 0x410c88
cmp byte [esp + 0x18], 0
je 0x4108ab
lea ecx, [esp + 0x14]
call fcn.0040bb88
xor dl, dl
mov eax, dword [ebx]
xor ecx, ecx
mov byte [eax + 0x28], dl
call fcn.00410754
cmp dword [eax], 0x10
jge 0x4108c6
xor eax, eax
inc eax
jmp 0x410b25
mov esi, 0x41bce0
lea edi, [esp + 0x164]
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [esp + 0x1c], eax
push eax
lea ecx, [esp + 0x24]
call fcn.0040f5a8
xor esi, esi
lea ecx, [esp + 0x20]
call fcn.0040f4f0
add eax, 4
push eax
lea ecx, [esp + 0x24]
call fcn.0040f84c
mov ebp, dword [esp + esi*4 + 0x164]
lea ecx, [esp + 0x20]
call fcn.0040f4f0
add eax, 0xfffffffc
push eax
lea ecx, [esp + 0x24]
call fcn.0040f4e0
mov dword [eax], ebp
inc esi
inc dword [esp + 0x1c]
cmp esi, 6
jl 0x4108e9
lea eax, [esp + 0x1c]
push 0
push 0x80000002
push eax
lea ecx, [esp + 0xc]
call fcn.00415558
lea ecx, [esp + 0x20]
call fcn.0040f678
lea ebp, [esp + 0x1c0]
push 0x5e9822cf
push ebp
lea ecx, [esp + 8]
call fcn.00415588
push dword [esp + 0x1c0]
lea ecx, [esp + 4]
call fcn.0041583c
mov esi, eax
mov ecx, ebp
call fcn.0040dfdc
test esi, esi
jne 0x4109b6
lea ecx, [esp + 0xc]
call fcn.0040d020
cmp byte [esp + 8], 0
je 0x4109a6
mov edx, dword [esp + 4]
test edx, edx
je 0x410996
cmp edx, 0xffffffff
jne 0x41099a
mov al, 1
jmp 0x41099c
xor al, al
test al, al
jne 0x4109a6
push edx
call fcn.00415530
mov dword [esp + 4], 0
xor eax, eax
inc eax
jmp 0x410b25
lea esi, [esp + 0x1c8]
push 0x80c4a2b7
push esi
lea ecx, [esp + 8]
call fcn.00415588
push dword [esp + 0x1c8]
lea ecx, [esp + 4]
call fcn.0041583c
mov ebp, eax
mov ecx, esi
call fcn.0040dfdc
lea esi, [esp + 0x1d0]
push 0xa89c042f
push esi
lea ecx, [esp + 8]
call fcn.00415588
push dword [esp + 0x1d0]
lea ecx, [esp + 4]
call fcn.0041583c
mov edi, eax
mov ecx, esi
call fcn.0040dfdc
test ebp, ebp
jne 0x410a5d
test edi, edi
jne 0x410af2
lea ecx, [esp + 0xc]
call fcn.0040d020
cmp byte [esp + 8], 0
je 0x410a4d
mov edx, dword [esp + 4]
test edx, edx
je 0x410a3d
cmp edx, 0xffffffff
jne 0x410a41
mov al, 1
jmp 0x410a43
xor al, al
test al, al
jne 0x410a4d
push edx
call fcn.00415530
mov dword [esp + 4], 0
push 2
pop eax
jmp 0x410b25
cmp ebp, 5
jne 0x410aae
test edi, edi
jne 0x410aa3
lea ecx, [esp + 0xc]
call fcn.0040d020
cmp byte [esp + 8], 0
je 0x410a93
mov edx, dword [esp + 4]
test edx, edx
je 0x410a83
cmp edx, 0xffffffff
jne 0x410a87
mov al, 1
jmp 0x410a89
xor al, al
test al, al
jne 0x410a93
push edx
call fcn.00415530
mov dword [esp + 4], 0
push 3
pop eax
jmp 0x410b25
cmp edi, 1
je 0x410e14
jmp 0x410af2
cmp ebp, 2
jne 0x410af2
cmp edi, 1
jne 0x410af2
lea ecx, [esp + 0xc]
call fcn.0040d020
cmp byte [esp + 8], 0
je 0x410ae5
mov edx, dword [esp + 4]
test edx, edx
je 0x410ad5
cmp edx, 0xffffffff
jne 0x410ad9
mov al, 1
jmp 0x410adb
xor al, al
test al, al
jne 0x410ae5
push edx
call fcn.00415530
mov dword [esp + 4], 0
push 5
pop eax
jmp 0x410b25
lea ecx, [esp + 0xc]
call fcn.0040d020
cmp byte [esp + 8], 0
je 0x410b1f
mov edx, dword [esp + 4]
test edx, edx
je 0x410b0f
cmp edx, 0xffffffff
jne 0x410b13
mov al, 1
jmp 0x410b15
xor al, al
test al, al
jne 0x410b1f
push edx
call fcn.00415530
xor eax, eax
mov dword [esp + 4], eax
mov edx, dword [ebx]
xor ecx, ecx
dec ecx
mov dword [edx + 0x24], eax
call fcn.00411054
mov ecx, dword [ebx]
mov byte [ecx + 0x29], al
mov eax, dword fs:[0x18]
cmp dword [ecx], 0x10
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 0x1d4]
mov dword [ecx + 0x20], edx
jge 0x410c18
mov eax, 0x8b9d0da7
mov edx, 0x8335dc52
mov dword [esp + 0x19c], 0
push eax
push eax
call fcn.00413044
mov edx, eax
test edx, edx
je 0x410bfe
lea eax, [esp + 0x19c]
push eax
push 8
push 0xffffffffffffffff
call edx
test eax, eax
je 0x410fd7
mov ecx, dword [esp + 0x19c]
mov eax, 0x8b9d0da7
mov edx, 0x6ca672fa
mov dword [esp + 0x30], ecx
mov byte [esp + 0x34], 1
mov dword [esp + 0x1a4], 0
push eax
push eax
call fcn.00413044
mov ecx, eax
test ecx, ecx
je 0x410bdf
xor edx, edx
lea eax, [esp + 0x1a4]
push eax
push edx
push edx
push 1
push dword [esp + 0x1ac]
call ecx
test eax, eax
je 0x410e51
mov eax, dword [esp + 0x1a4]
test eax, eax
jne 0x410e5b
cmp byte [esp + 0x34], 0
je 0x410bfe
lea ecx, [esp + 0x30]
call fcn.0040bb88
mov eax, dword [ebx]
cmp byte [eax + 0x28], 0
je 0x410c0f
mov dword [eax + 0x2c], 5
jmp 0x410c25
mov dword [eax + 0x2c], 3
jmp 0x410c25
xor ecx, ecx
dec ecx
call fcn.004110c8
mov edx, dword [ebx]
mov dword [edx + 0x2c], eax
mov eax, 0x10154545
mov edx, 0xccc77b1
push eax
push eax
call fcn.00413044
mov edx, eax
test edx, edx
je 0x410c46
lea eax, [esp + 0x164]
push eax
call edx
mov eax, dword [ebx]
lea ebx, [esp + 0x178]
mov edx, dword [ebx]
mov ecx, dword [ebx - 0x10]
mov ebx, dword [ebx - 0xc]
lea esi, [esp + 0x170]
mov ebp, dword [esi]
mov esi, dword [esi + 0x10]
mov word [eax + 0xe], dx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebp
mov dword [eax + 0x1c], esi
add esp, 0x1e0
pop ebp
pop ebx
pop edi
pop esi
ret
call fcn.004135c8
jmp 0x41088c
push eax
lea ecx, [esp + 0x3c]
call fcn.0040f5a8
mov eax, 0x8b9d0da7
mov edx, 0x6ca672fa
push eax
push eax
call fcn.00413044
mov esi, eax
test esi, esi
je 0x410dd8
push 0
lea ecx, [esp + 0x3c]
call fcn.0040f4e0
mov ebp, eax
lea ecx, [esp + 0x38]
call fcn.0040f4f0
mov edx, eax
lea eax, [esp + 0x1a0]
push eax
push edx
push ebp
push 2
push dword [esp + 0x1a8]
call esi
test eax, eax
je 0x410df4
push 0
lea ecx, [esp + 0x3c]
call fcn.0040f4e0
mov ebp, eax
mov esi, 0x41bcf8
lea edi, [esp + 0x1d8]
mov dword [edi - 0x30], 0
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
mov eax, 0x8b9d0da7
mov edx, 0xbdc0a291
push eax
push eax
call fcn.00413044
mov esi, eax
test esi, esi
je 0x410dd8
xor edx, edx
lea eax, [esp + 0x1a8]
push eax
push edx
push edx
push edx
push edx
push edx
push edx
push 0x220
push 0x20
push 2
lea ecx, [eax + 0x30]
push ecx
call esi
test eax, eax
je 0x410de6
mov edi, dword [esp + 0x1a8]
cmp dword [ebp], 0
jbe 0x410dbd
xor esi, esi
mov eax, 0x8b9d0da7
mov edx, 0x2ae47d4a
push eax
push eax
call fcn.00413044
test eax, eax
je 0x410db7
push dword [ebp + esi*8 + 4]
push dword [esp + 0x1ac]
int3
inc esi
cmp esi, dword [ebp]
jb 0x410d56
test edi, edi
je 0x410dc6
cmp edi, 0xffffffff
jne 0x410dca
mov dl, 1
jmp 0x410dcc
xor dl, dl
test dl, dl
jne 0x410dd8
mov eax, edi
push eax
call fcn.00410ff8
lea ecx, [esp + 0x38]
call fcn.0040f678
jmp 0x41089b
call fcn.004135c8
test eax, eax
jne 0x410dd8
jmp 0x410d47
call fcn.004135c8
test eax, eax
jne 0x410dd8
jmp 0x410ce2
call fcn.004135c8
test eax, eax
jne 0x4108ab
jmp 0x41083b
lea ecx, [esp + 0xc]
call fcn.0040d020
cmp byte [esp + 8], 0
je 0x410e41
mov edx, dword [esp + 4]
test edx, edx
je 0x410e31
cmp edx, 0xffffffff
jne 0x410e35
mov al, 1
jmp 0x410e37
xor al, al
test al, al
jne 0x410e41
push edx
call fcn.00415530
mov dword [esp + 4], 0
push 4
pop eax
jmp 0x410b25
call fcn.004135c8
jmp 0x410bdf
push eax
lea ecx, [esp + 0x18c]
call fcn.0040f5a8
mov eax, 0x8b9d0da7
mov edx, 0x6ca672fa
push eax
push eax
call fcn.00413044
mov esi, eax
test esi, esi
je 0x410fb8
push 0
lea ecx, [esp + 0x18c]
call fcn.0040f4e0
mov ebp, eax
lea ecx, [esp + 0x188]
call fcn.0040f4f0
mov edx, eax
lea eax, [esp + 0x1a4]
push eax
push edx
push ebp
push 1
push dword [esp + 0x1ac]
call esi
test eax, eax
je 0x410fc9
push 0
lea ecx, [esp + 0x18c]
call fcn.0040f4e0
mov ebp, eax
push 0
lea ecx, [esp + 0x1b4]
call fcn.0040df84
mov eax, 0x8b9d0da7
mov edx, 0x628b2cfa
mov dword [esp + 0x1ac], 0
push eax
push eax
call fcn.00413044
mov edx, eax
test edx, edx
je 0x410f0b
lea eax, [esp + 0x1ac]
push eax
push dword [ebp]
call edx
push dword [esp + 0x1ac]
lea ecx, [esp + 0x1b4]
call fcn.0040dff8
mov eax, 0x10154545
mov edx, 0x44fb2dcc
push eax
push eax
call fcn.00413044
test eax, eax
je 0x410f3c
push dword [esp + 0x1ac]
int3
lea eax, [esp + 0x1b8]
push eax
lea ecx, [eax - 8]
call fcn.0040e0a4
mov ebp, dword [esp + 0x1b8]
mov ecx, ebp
mov edx, 0x7fffffff
call fcn.0040e8d4
mov ecx, ebp
mov edx, eax
call fcn.00414fd4
mov ebp, eax
lea ecx, [esp + 0x1b8]
call fcn.0040dfdc
lea ecx, [esp + 0x1b0]
call fcn.0040dfdc
lea ecx, [esp + 0x188]
call fcn.0040f678
cmp byte [esp + 0x34], 0
je 0x410f9e
lea ecx, [esp + 0x30]
call fcn.0040bb88
cmp ebp, 0x6df4cf7
jne 0x410bfe
mov eax, dword [ebx]
mov dword [eax + 0x2c], 6
jmp 0x410c25
lea ecx, [esp + 0x188]
call fcn.0040f678
jmp 0x410bee
call fcn.004135c8
test eax, eax
jne 0x410fb8
jmp 0x410ebe
call fcn.004135c8
test eax, eax
jne 0x410bfe
jmp 0x410b8e
push 0x30
call fcn.004135f4
pop edx
mov dword [ebx], eax
jmp 0x410772