Function at 0x559f30
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x48
mov esi, esp
mov dword [esi + 0x30], ebp
mov edi, dword [ebp + 8]
mov dword [esi + 0x34], esp
mov dword [esi + 0x40], 0xffffffff
lea eax, [esi + 0x38]
mov dword [esi + 0x3c], 0x5ce510
mov edx, dword fs:[0]
mov dword [esi + 0x38], edx
mov dword fs:[0], eax
mov dword [esi + 0x14], ecx
add ecx, 0x10
lea eax, [esi + 0x18]
push eax
call fcn.00542300
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov eax, dword [eax]
btc eax, ecx
bt eax, ecx
jb 0x55a0e2
movzx ebx, byte [ebp + 0x10]
lea ecx, [esi + 0x18]
push dword [ebp + 0xc]
call fcn.005534d0
test bl, bl
je 0x55a105
mov ecx, dword [0x60ce38]
mov eax, dword [0x60ce3c]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
sete byte [esi + 6]
mov edx, 0xb9042a64
mov ecx, 0x11eb61c3
cmove ecx, edx
cmp eax, 0xa
setl byte [esi + 7]
mov eax, 0x11eb61c3
cmovge ecx, eax
setl al
mov edx, dword [esi + 0x14]
mov edi, dword [edx + 4]
mov dword [esi + 0x10], edi
xor al, bl
mov eax, dword [edx + 8]
mov dword [esi + 0x2c], eax
mov eax, 0xb9042a64
cmovne ecx, eax
mov edi, dword [ebp + 8]
mov ebx, 0xc938cd57
mov edx, 0x7b9734d
nop word [eax + eax]
cmp ebx, 0x7b9734c
jg 0x55a050
cmp ebx, 0xb9042a64
je 0x55a06b
cmp ebx, 0xc938cd57
jne 0x55a010
movzx eax, byte [esi + 6]
mov ah, byte [esi + 7]
mov ebx, eax
xor bl, ah
mov edi, 0x11eb61c3
cmovne edi, edx
test ah, ah
mov ebx, edi
cmovne ebx, edx
test al, al
cmove ebx, edi
mov edi, dword [ebp + 8]
jmp 0x55a010
cmp ebx, 0x7b9734d
je 0x55a067
cmp ebx, 0x11eb61c3
jne 0x55a010
mov ebx, 0x7b9734d
jmp 0x55a010
mov ebx, ecx
jmp 0x55a010
mov ebx, dword [esi + 0x2c]
cmp dword [esi + 0x10], ebx
sete byte [esi + 8]
movzx eax, byte [esi + 8]
cmp al, 1
jne 0x55a132
mov edi, esp
push eax
sub esp, 0xc
mov eax, esp
vmovups xmm0, xmmword [esi + 0x18]
vmovups xmmword [eax], xmm0
mov byte [esi + 0x18], 0
mov dword [esi + 0x24], 0
mov ecx, dword [0x60c9a0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60c9a4], 0xa
mov dword [esi + 0x20], 0
setl ch
setge cl
cmp ch, dl
jne 0x55a1ae
or cl, al
test cl, 1
je 0x55a1ae
nop word cs:[eax + eax]
jmp 0x55a0e0
mov byte [edi], 0
mov dword [edi + 4], 0
mov edx, dword [0x60d280]
mov eax, dword [0x60d284]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
jmp 0x55a9d6
mov eax, dword [0x60d280]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60d284], 0xa
setl cl
test cl, al
jne 0x55a172
xor cl, al
jne 0x55a172
nop dword [eax]
jmp 0x55a130
mov eax, dword [0x60d280]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
setne cl
cmp dword [0x60d284], 0xa
setl ah
setge dl
cmp ah, al
jne 0x55a2b9
or dl, cl
je 0x55a2b9
nop word [eax + eax]
jmp 0x55a170
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 8]
sub eax, dword [ecx + 4]
sar eax, 2
add ecx, 0x38
mov dword [esi + 0x40], 0
lea edx, [esi + 0x18]
push edx
push 5
push eax
call fcn.00542970
test al, al
mov eax, dword [ebp + 8]
jne 0x559fa2
mov byte [eax], 0
mov dword [eax + 4], 0
jmp 0x55a584
mov ebx, dword [esi + 0x14]
mov ecx, dword [ebx]
call fcn.0053d9c0
mov esp, edi
mov eax, dword [ebx]
mov ecx, dword [0x60ce80]
mov edx, dword [0x60ce84]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 6]
cmp edx, 0xa
setl byte [esi + 7]
mov ebx, 0xb399b354
nop word cs:[eax + eax]
cmp ebx, 0xb7e3318b
jg 0x55a260
cmp ebx, 0xb399b354
je 0x55a28b
cmp ebx, 0xb3e10005
jne 0x55a1f0
mov ecx, dword [ebp + 8]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov byte [ecx], 1
mov ecx, dword [esi + 8]
mov dword [ecx + 4], eax
mov ecx, dword [0x60ce80]
mov edx, dword [0x60ce84]
lea ebx, [ecx + 1]
imul ebx, ecx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0x11441d39
mov edi, 0xb7e3318c
cmovne ecx, edi
cmp ebx, 0xffffffff
mov ebx, ecx
cmove ebx, edi
cmp edx, 0xa
cmovge ebx, ecx
jmp 0x55a1f0
cmp ebx, 0xb7e3318c
je 0x55a581
cmp ebx, 0x11441d39
jne 0x55a1f0
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov dword [ecx + 4], eax
mov ebx, 0xb3e10005
jmp 0x55a1f0
movzx ecx, byte [esi + 6]
mov dh, byte [esi + 7]
mov dl, cl
xor dl, dh
test dh, dh
mov ebx, 0x11441d39
mov edi, 0xb3e10005
cmovne ebx, edi
test cl, cl
mov ecx, 0x11441d39
cmove ebx, ecx
test dl, dl
cmovne ebx, edi
jmp 0x55a1f0
mov eax, dword [ebx - 4]
test eax, eax
je 0x55a3dd
mov dword [esi + 0x10], eax
mov eax, dword [0x60c9a8]
mov edx, dword [0x60c9ac]
lea edi, [eax + 1]
imul edi, eax
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete al
cmp edx, 0xa
setl cl
xor cl, al
mov ecx, 0x881bd26b
mov eax, 0x703f1b4d
cmovne eax, ecx
test ebx, edi
sete byte [esi + 6]
cmovne ecx, eax
cmp edx, 0xa
setl byte [esi + 7]
mov edx, dword [esi + 0x10]
movzx edx, byte [edx]
mov byte [esi + 0x2c], dl
cmovge ecx, eax
mov ebx, 0xd988a2e6
nop dword [eax + eax]
cmp ebx, 0xd988a2e5
jg 0x55a340
cmp ebx, 0x881bd26b
je 0x55a37d
cmp ebx, 0xd7920771
jne 0x55a320
mov ebx, ecx
jmp 0x55a320
cmp ebx, 0x703f1b4d
je 0x55a376
cmp ebx, 0xd988a2e6
jne 0x55a320
movzx eax, byte [esi + 6]
mov ah, byte [esi + 7]
mov dh, al
xor dh, ah
mov edi, 0x703f1b4d
mov edx, 0xd7920771
cmovne edi, edx
test ah, ah
mov ebx, edi
cmovne ebx, edx
test al, al
cmove ebx, edi
jmp 0x55a320
mov ebx, 0xd7920771
jmp 0x55a320
cmp byte [esi + 0x2c], 2
sete byte [esi + 8]
movzx eax, byte [esi + 8]
cmp al, 1
jne 0x55a3ec
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 8]
mov dword [esi + 0x40], 0
lea eax, [esi + 0x18]
push eax
call fcn.00527de0
mov eax, dword [0x60d280]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60d284], 0xa
setge cl
setl ah
xor ah, dl
jne 0x55a5bc
or cl, al
jne 0x55a7b9
jmp 0x55a5bc
mov byte [edi], 0
mov dword [edi + 4], 0
jmp 0x55a584
mov eax, dword [esi + 0x14]
lea edi, [eax + 0x20]
lea eax, [esi + 8]
mov ecx, edi
push eax
call fcn.00542300
movzx ecx, byte [esi + 0xc]
mov eax, 0xfffffffe
rol eax, cl
mov ecx, dword [esi + 8]
mov ebx, dword [ecx]
not ebx
or ebx, eax
mov ecx, edi
call fcn.00542800
cmp ebx, 0xffffffff
je 0x55a472
mov edi, esp
sub esp, 0x10
mov eax, esp
vmovups xmm0, xmmword [esi + 0x18]
vmovups xmmword [eax], xmm0
mov byte [esi + 0x18], 0
mov dword [esi + 0x24], 0
mov ecx, dword [0x60c9a0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60c9a4], 0xa
mov dword [esi + 0x20], 0
setl ch
setge cl
cmp ch, dl
jne 0x55a47a
or cl, al
test cl, 1
je 0x55a47a
nop dword [eax + eax]
jmp 0x55a470
mov eax, dword [ebp + 8]
jmp 0x55a19f
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x30]
call fcn.0053d9c0
mov esp, edi
mov eax, dword [0x60ce88]
mov ecx, dword [0x60ce8c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 6]
cmp ecx, 0xa
setl byte [esi + 7]
mov edi, 0x910600ce
mov eax, 0x98ee729f
mov edx, 0x84282571
nop dword [eax]
cmp edi, 0x98ee729e
jg 0x55a503
cmp edi, 0x84282571
je 0x55a581
cmp edi, 0x910600ce
jne 0x55a4c0
movzx ebx, byte [esi + 6]
movzx ecx, byte [esi + 7]
mov bh, cl
xor bh, bl
test cl, cl
mov edi, 0xaacd1ccf
cmovne edi, eax
test bl, bl
mov ecx, 0xaacd1ccf
cmove edi, ecx
test bh, bh
cmovne edi, eax
jmp 0x55a4c0
cmp edi, 0x98ee729f
je 0x55a529
cmp edi, 0xaacd1ccf
jne 0x55a4c0
mov edi, dword [ebp + 8]
mov byte [edi], 1
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 0x30]
mov dword [edi + 4], ecx
mov edi, 0x98ee729f
jmp 0x55a4c0
mov ecx, dword [ebp + 8]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov byte [ecx], 1
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0x14]
mov edi, dword [edi + 0x30]
mov dword [ecx + 4], edi
mov ecx, dword [0x60ce88]
mov ebx, dword [0x60ce8c]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete cl
cmp ebx, 0xa
setl ch
xor ch, cl
mov ecx, 0xaacd1ccf
cmovne ecx, edx
cmp edi, 0xffffffff
mov edi, ecx
cmove edi, edx
cmp ebx, 0xa
cmovge edi, ecx
jmp 0x55a4c0
mov eax, dword [esi + 8]
mov eax, dword [0x60d280]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60d284], 0xa
setl cl
test cl, al
mov edi, dword [ebp + 8]
jne 0x55a99b
xor cl, al
je 0x55a9cc
jmp 0x55a99b
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
mov ecx, dword [eax + 8]
mov eax, dword [0x60c998]
mov edx, dword [0x60c99c]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 6]
mov edi, 0xe2b5dd16
mov eax, 0xdab7736
cmove eax, edi
sete bl
cmp edx, 0xa
mov edx, 0xdab7736
cmovge eax, edx
setl byte [esi + 7]
setl dl
mov ecx, dword [ecx + 4]
add ecx, 0xfffffff0
xor dl, bl
cmovne eax, edi
mov edi, 0xbd9f8615
nop word [eax + eax]
cmp edi, 0xdab7735
jg 0x55a640
cmp edi, 0xbd9f8615
je 0x55a654
cmp edi, 0xe2b5dd16
jne 0x55a620
jmp 0x55a68c
cmp edi, 0xdab7736
je 0x55a685
cmp edi, 0x2ca87c55
jne 0x55a620
mov edi, eax
jmp 0x55a620
movzx edx, byte [esi + 6]
mov bh, byte [esi + 7]
mov bl, dl
xor bl, bh
mov dword [esi + 0x10], ecx
mov ecx, 0xdab7736
mov edi, 0x2ca87c55
cmovne ecx, edi
test bh, bh
mov edi, ecx
mov ebx, 0x2ca87c55
cmovne edi, ebx
test dl, dl
cmove edi, ecx
mov ecx, dword [esi + 0x10]
jmp 0x55a620
mov edi, 0x2ca87c55
jmp 0x55a620
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
mov ecx, dword [0x60ce80]
mov edx, dword [0x60ce84]
lea edi, [ecx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 6]
cmp edx, 0xa
setl byte [esi + 7]
mov ebx, 0xb399b354
nop dword [eax]
cmp ebx, 0xb7e3318b
jg 0x55a730
cmp ebx, 0xb399b354
je 0x55a753
cmp ebx, 0xb3e10005
jne 0x55a6c0
mov ecx, dword [ebp + 8]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov byte [ecx], 1
mov ecx, dword [esi + 8]
mov dword [ecx + 4], eax
mov ecx, dword [0x60ce80]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
mov ebx, 0x11441d39
mov edi, 0xb7e3318c
cmove ebx, edi
cmp dword [0x60ce84], 0xa
mov edx, 0x11441d39
cmovge ebx, edx
setl dl
xor dl, cl
cmovne ebx, edi
jmp 0x55a6c0
cmp ebx, 0xb7e3318c
je 0x55a781
cmp ebx, 0x11441d39
jne 0x55a6c0
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov dword [ecx + 4], eax
mov ebx, 0xb3e10005
jmp 0x55a6c0
movzx edx, byte [esi + 6]
mov ch, byte [esi + 7]
mov cl, dl
xor cl, ch
test ch, ch
mov ebx, 0x11441d39
mov edi, 0xb3e10005
cmovne ebx, edi
test dl, dl
mov edx, 0x11441d39
cmove ebx, edx
test cl, cl
cmovne ebx, edi
jmp 0x55a6c0
mov eax, dword [esi + 8]
mov eax, dword [0x60d280]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60d284], 0xa
setge cl
setl ah
xor ah, dl
jne 0x55a584
or cl, al
je 0x55a584
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
mov edx, dword [eax + 8]
mov eax, dword [0x60c998]
mov ecx, dword [0x60c99c]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete byte [esi + 6]
mov edi, 0xe2b5dd16
mov eax, 0xdab7736
cmove eax, edi
sete bl
cmp ecx, 0xa
setl byte [esi + 7]
mov ecx, 0xdab7736
cmovge eax, ecx
mov edx, dword [edx + 4]
setl bh
add edx, 0xfffffff0
xor bh, bl
cmovne eax, edi
mov ebx, 0xbd9f8615
jmp 0x55a850
movzx ecx, byte [esi + 6]
movzx ebx, byte [esi + 7]
mov ch, bl
xor ch, cl
test bl, bl
mov ebx, 0xdab7736
mov edi, 0x2ca87c55
cmovne ebx, edi
test cl, cl
mov edi, 0xdab7736
cmove ebx, edi
test ch, ch
mov ecx, 0x2ca87c55
cmovne ebx, ecx
nop word cs:[eax + eax]
cmp ebx, 0xdab7735
jg 0x55a870
cmp ebx, 0xbd9f8615
je 0x55a816
cmp ebx, 0xe2b5dd16
jne 0x55a850
jmp 0x55a88b
cmp ebx, 0xdab7736
je 0x55a884
cmp ebx, 0x2ca87c55
jne 0x55a850
mov ebx, eax
jmp 0x55a850
mov ebx, 0x2ca87c55
jmp 0x55a850
mov dword [esi + 8], edx
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
mov ecx, dword [0x60ce80]
mov edx, dword [0x60ce84]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 6]
cmp edx, 0xa
setl byte [esi + 7]
mov edi, 0xb399b354
nop dword [eax]
cmp edi, 0xb7e3318b
jg 0x55a940
cmp edi, 0xb399b354
je 0x55a96a
cmp edi, 0xb3e10005
jne 0x55a8c0
mov ecx, dword [ebp + 8]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov byte [ecx], 1
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov ecx, dword [0x60ce80]
mov ebx, dword [0x60ce84]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete dl
cmp ebx, 0xa
setl dh
xor dh, dl
mov edx, 0x11441d39
mov eax, 0xb7e3318c
cmovne edx, eax
test ecx, edi
mov edi, edx
cmove edi, eax
cmp ebx, 0xa
cmovge edi, edx
jmp 0x55a8c0
cmp edi, 0xb7e3318c
je 0x55a993
cmp edi, 0x11441d39
jne 0x55a8c0
mov ecx, dword [ebp + 8]
mov byte [ecx], 1
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov edi, 0xb3e10005
jmp 0x55a8c0
movzx ecx, byte [esi + 6]
mov bh, byte [esi + 7]
mov bl, cl
xor bl, bh
mov edx, 0x11441d39
mov eax, 0xb3e10005
cmovne edx, eax
test bh, bh
mov edi, edx
cmovne edi, eax
test cl, cl
cmove edi, edx
jmp 0x55a8c0
mov eax, dword [esi + 8]
jmp 0x55a5bc
lea ecx, [esi + 0x18]
call fcn.004668d0
mov ecx, dword [0x60d280]
mov eax, dword [0x60d284]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete dl
cmp eax, 0xa
setl dh
test dh, dl
jne 0x55a9d6
xor dh, dl
jne 0x55a9d6
lea ecx, [esi + 0x18]
call fcn.004668d0
jmp 0x55a99b
test ecx, ecx
setne cl
sete dl
cmp eax, 0xa
setge al
setl ah
xor ah, dl
jne 0x55a9f2
or al, cl
je 0x55a9f2
nop
jmp 0x55a9f0
mov eax, dword [esi + 0x38]
mov dword fs:[0], eax
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc