Function at 0x5f8b40
Capabilities:
Check os version
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61ef41
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x6e7070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xd8], ebx
mov eax, dword [ecx]
call dword [eax + 0x44]
mov esi, eax
lea ecx, [ebp - 0xf0]
mov eax, dword [ebp - 0xd0]
push ecx
mov ecx, eax
mov dword [ebp - 0xd4], esi
mov edx, dword [eax]
call dword [edx + 0x48]
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], ebx
mov byte [ebp - 0x58], bl
mov eax, dword [edi + 0x30]
lea ecx, [ebp - 0x28]
push 1
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0x34]
push 0x6932b8
mov dword [ebp - 4], ebx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x28], bl
call fcn.0040644c
lea ecx, [edi + 0x18]
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
push eax
push dword [ecx + 0x10]
mov byte [ebp - 4], 2
push ebx
call fcn.005d7a50
mov byte [ebp - 4], 1
test eax, eax
jne 0x5f8c26
lea ecx, [edi + 0x14]
call fcn.00607d20
mov byte [ebp - 0xc5], 1
jmp 0x5f8c2d
mov byte [ebp - 0xc5], 0
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp eax, 0x10
jb 0x5f8c46
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00406367
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.005fa0f0
cmp byte [ebp - 0xc5], 0
je 0x5f8ec3
test al, al
je 0x5f90db
push 1
push 0x690fe0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.0040644c
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov esi, dword [edi + 0x28]
cmovae ecx, dword [ebp - 0x28]
cmp dword [edi + 0x2c], 0x10
jb 0x5f8ca0
mov edx, dword [edi + 0x18]
jmp 0x5f8ca3
lea edx, [edi + 0x18]
mov ebx, dword [ebp - 0x18]
cmp esi, ebx
mov eax, ebx
cmovb eax, esi
push eax
push ecx
push edx
call fcn.00405d32
add esp, 0xc
test eax, eax
jne 0x5f8ccc
cmp esi, ebx
jae 0x5f8cc5
or eax, 0xffffffff
jmp 0x5f8ccc
xor eax, eax
cmp esi, ebx
setne al
test eax, eax
mov byte [ebp - 4], 3
sete al
test al, al
je 0x5f8ce5
lea ecx, [edi + 0x14]
call fcn.00607d20
mov bl, 1
jmp 0x5f8ce7
xor bl, bl
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp eax, 0x10
jb 0x5f8d00
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00406367
test bl, bl
je 0x5f8d6e
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
mov ecx, edi
call fcn.005fa0f0
test al, al
je 0x5f90d3
push 1
push 0x690fe0
lea ecx, [ebp - 0x58]
call fcn.00405e50
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.00405db1
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp eax, 0x10
jb 0x5f8c66
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00406367
jmp 0x5f8c66
push 0x6957a4
lea ecx, [ebp - 0x70]
call fcn.004064e2
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 6
push eax
mov ecx, edi
call fcn.005f8730
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00406015
test bl, bl
je 0x5f90db
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x58]
push edx
test ecx, ecx
je 0x5f8db8
mov eax, dword [ecx]
push dword [ebp - 0xd0]
call dword [eax + 4]
jmp 0x5f8dc6
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx]
call dword [eax + 0x118]
mov esi, eax
test esi, esi
jne 0x5f92d5
cmp byte [edi + 0xa5], 0
lea eax, [ebp - 0x58]
push eax
push str.Extension__
lea eax, [ebp - 0x28]
push eax
jne 0x5f8e37
call fcn.00403706
push str.__is_not_defined_or_is_not_an_extension_of__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 7
push eax
call fcn.00403787
mov ecx, dword [ebp - 0xcc]
mov byte [ebp - 4], 8
push dword [ecx + 4]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00403840
push 0x63c9bc
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 9
push eax
call fcn.00403787
add esp, 0x30
mov byte [ebp - 4], 0xa
jmp 0x5f90aa
call fcn.00403706
push str.__is_not_defined_or_is_not_an_extension_of__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xb
push eax
call fcn.00403787
mov ecx, dword [ebp - 0xcc]
mov byte [ebp - 4], 0xc
push dword [ecx + 4]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00403840
push 0x63c9bc
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xd
push eax
call fcn.00403787
add esp, 0x30
push eax
push dword [edi + 0x34]
mov ecx, edi
mov byte [ebp - 4], 0xe
push dword [edi + 0x30]
call fcn.005fc940
lea ecx, [ebp - 0x88]
call fcn.00406015
lea ecx, [ebp - 0x40]
call fcn.00406015
lea ecx, [ebp - 0x70]
call fcn.00406015
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00406015
mov ebx, dword [ebp - 0xd8]
jmp 0x5f918e
test al, al
je 0x5f90db
cmp byte [edi + 0xa7], 0
je 0x5f8f66
lea eax, [ebp - 0xdc]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x5f8f0a
mov eax, dword [ecx]
jmp 0x5f8f0c
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.00406123
call fcn.005fdb90
add esp, 0x1c
test al, al
je 0x5f8f66
push dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xcc]
call fcn.005d0880
push dword [ebp - 0xdc]
test eax, eax
je 0x5f8f54
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x11c]
mov esi, eax
jmp 0x5f903c
mov ecx, dword [ebp - 0xcc]
call fcn.005d0990
mov esi, eax
jmp 0x5f903c
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0x58]
push eax
call fcn.005d0910
mov esi, eax
test esi, esi
jne 0x5f8fd5
push 0xffffffffffffffff
push eax
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x14], 0xf
call fcn.00406123
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xf
push eax
call fcn.005d3080
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0x28]
add esp, 4
push eax
call fcn.005d0910
mov esi, eax
test esi, esi
je 0x5f8fc5
xor ecx, ecx
cmp dword [esi + 0x18], 0xa
cmovne esi, ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00406015
test esi, esi
je 0x5f8ffa
cmp dword [esi + 0x18], 0xa
jne 0x5f92d5
mov eax, dword [esi + 0x34]
lea ecx, [ebp - 0x58]
push ecx
push dword [eax]
call fcn.004095b9
add esp, 8
test al, al
je 0x5f92d5
xor esi, esi
cmp byte [edi + 0xa4], 0
je 0x5f903c
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x70]
call fcn.004058cd
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x10
push eax
call fcn.005d3080
mov ecx, dword [ebp - 0xcc]
lea eax, [ebp - 0x70]
add esp, 4
push eax
call fcn.005d08c0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.00406015
test esi, esi
jne 0x5f92d5
cmp byte [edi + 0xa5], 0
mov eax, dword [ebp - 0xcc]
push dword [eax + 4]
lea eax, [ebp - 0x28]
push str.Message_type__
push eax
jne 0x5f9112
call fcn.00403706
push str.__has_no_field_named__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x11
push eax
call fcn.00403787
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x12
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00403840
push 0x63c9bc
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x13
push eax
call fcn.00403787
add esp, 0x30
mov byte [ebp - 4], 0x14
push eax
push dword [edi + 0x34]
mov ecx, edi
push dword [edi + 0x30]
call fcn.005fc7b0
lea ecx, [ebp - 0x88]
call fcn.00406015
lea ecx, [ebp - 0x40]
call fcn.00406015
lea ecx, [ebp - 0x70]
call fcn.00406015
lea ecx, [ebp - 0x28]
call fcn.00406015
xor bl, bl
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x5f90f2
inc ecx
push ecx
push dword [ebp - 0x58]
lea ecx, [ebp - 0x58]
call fcn.00406367
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052c3c6
mov esp, ebp
pop ebp
ret 4
call fcn.00403706
push str.__has_no_field_named__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x15
push eax
call fcn.00403787
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x16
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00403840
push 0x63c9bc
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x17
push eax
call fcn.00403787
add esp, 0x30
push eax
push dword [edi + 0x34]
mov ecx, edi
mov byte [ebp - 4], 0x18
push dword [edi + 0x30]
call fcn.005fc940
lea ecx, [ebp - 0x88]
call fcn.00406015
lea ecx, [ebp - 0x40]
call fcn.00406015
lea ecx, [ebp - 0x70]
call fcn.00406015
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00406015
cmp byte [edi + 0xa5], 0
jne 0x5f91d5
push 0x1ab
push str.c:jenkins_slaveworkspaceproto_pub_contrib_2_vendor_srcgoogleprotobuf_text_format.cc
push 3
lea ecx, [ebp - 0xc4]
call fcn.005b48c0
mov ebx, 1
mov byte [ebp - 4], 0x19
push str.CHECK_failed:_allow_unknown_field_:
mov ecx, eax
mov dword [ebp - 0xcc], ebx
call fcn.005b4a90
push eax
lea ecx, [ebp - 0xc5]
call fcn.005b49e0
mov dword [ebp - 4], 0
test bl, 1
je 0x5f91ef
lea ecx, [ebp - 0xc4]
and ebx, 0xfffffffe
call fcn.005b4980
push 0x6957b4
lea ecx, [ebp - 0x40]
call fcn.004064e2
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x1a
or ebx, 2
mov ecx, edi
push eax
mov dword [ebp - 0xcc], ebx
call fcn.005fd420
test al, al
je 0x5f9277
push 0x6923a0
lea ecx, [ebp - 0x28]
call fcn.004064e2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x1b
or ebx, 4
mov ecx, edi
push eax
mov dword [ebp - 0xcc], ebx
call fcn.005fab70
test al, al
jne 0x5f9277
push 0x69830c
lea ecx, [ebp - 0x70]
call fcn.004064e2
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 0x1c
or ebx, 8
mov ecx, edi
push eax
mov dword [ebp - 0xcc], ebx
call fcn.005fab70
mov byte [ebp - 0xc5], 1
test al, al
je 0x5f927e
mov byte [ebp - 0xc5], 0
test bl, 8
je 0x5f928e
lea ecx, [ebp - 0x70]
and ebx, 0xfffffff7
call fcn.00406015
test bl, 4
je 0x5f929e
lea ecx, [ebp - 0x28]
and ebx, 0xfffffffb
call fcn.00406015
mov dword [ebp - 4], 0
test bl, 2
je 0x5f92b2
lea ecx, [ebp - 0x40]
call fcn.00406015
cmp byte [ebp - 0xc5], 0
mov ecx, edi
je 0x5f92c9
call fcn.005fd250
mov bl, al
jmp 0x5f90dd
call fcn.005fced0
mov bl, al
jmp 0x5f90dd
cmp dword [edi + 0xa0], 1
jne 0x5f944c
cmp dword [esi + 0x1c], 3
mov ebx, dword [ebp - 0xd4]
je 0x5f934c
mov eax, dword [ebx]
mov ecx, ebx
push esi
push dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
call eax
test al, al
je 0x5f934c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x40]
push str.Non_repeated_field__
push eax
call fcn.00403706
push str.__is_specified_multiple_times.
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x1d
push eax
call fcn.00403787
add esp, 0x18
push eax
mov ecx, edi
mov byte [ebp - 4], 0x1e
call fcn.005fc790
lea ecx, [ebp - 0x88]
call fcn.00406015
lea ecx, [ebp - 0x40]
jmp 0x5f90d6
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x5f944c
mov eax, dword [ebx]
push ecx
push dword [ebp - 0xd0]
mov ecx, ebx
mov eax, dword [eax + 0x1c]
call eax
test al, al
je 0x5f944c
push dword [ebp - 0xcc]
mov eax, dword [ebx]
mov ecx, ebx
push dword [ebp - 0xd0]
call dword [eax + 0x24]
mov esi, eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xb8]
push str.Field__
push eax
call fcn.00403706
push str.__is_specified_along_with_field__
push eax
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x1f
push eax
call fcn.00403787
push dword [esi]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00403840
push str.___another_member_of_oneof__
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x21
push eax
call fcn.00403787
mov ecx, dword [ebp - 0xcc]
mov byte [ebp - 4], 0x22
push dword [ecx]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00403840
push 0x63c9bc
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x23
push eax
call fcn.00403787
add esp, 0x48
push eax
mov ecx, edi
mov byte [ebp - 4], 0x24
call fcn.005fc790
lea ecx, [ebp - 0x88]
call fcn.00406015
lea ecx, [ebp - 0x40]
call fcn.00406015
lea ecx, [ebp - 0x70]
call fcn.00406015
lea ecx, [ebp - 0x28]
call fcn.00406015
lea ecx, [ebp - 0xa0]
call fcn.00406015
lea ecx, [ebp - 0xb8]
jmp 0x5f90d6
mov eax, dword [esi + 0x18]
lea ecx, [ebp - 0x40]
push 0x6957b4
cmp dword [eax*4 + 0x63c208], 0xa
jne 0x5f9483
call fcn.004064e2
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x25
push eax
mov ecx, edi
call fcn.005fd420
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00406015
jmp 0x5f94ad
call fcn.004064e2
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x26
push eax
mov ecx, edi
call fcn.005f8730
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00406015
test bl, bl
je 0x5f90db
cmp dword [esi + 0x1c], 3
jne 0x5f94ed
push 0x6932b8
lea ecx, [ebp - 0x40]
call fcn.004064e2
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x27
mov ebx, 0x10
mov ecx, edi
push eax
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xcc], ebx
call fcn.005fd420
test al, al
je 0x5f94f3
mov byte [ebp - 0xc5], 1
jmp 0x5f94fa
mov ebx, dword [ebp - 0xd8]
mov byte [ebp - 0xc5], 0
mov dword [ebp - 4], 0
test bl, 0x10
je 0x5f9517
and ebx, 0xffffffef
lea ecx, [ebp - 0x40]
mov dword [ebp - 0xd8], ebx
call fcn.00406015
cmp byte [ebp - 0xc5], 0
je 0x5f95b9
mov eax, dword [esi + 0x18]
mov ecx, edi
push esi
push dword [ebp - 0xd4]
cmp dword [eax*4 + 0x63c208], 0xa
push dword [ebp - 0xd0]
jne 0x5f9547
call fcn.005f9700
jmp 0x5f954c
call fcn.005f9930
test al, al
je 0x5f90db
push 0x6957a4
lea ecx, [ebp - 0x40]
call fcn.004064e2
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x28
push eax
mov ecx, edi
call fcn.005fd420
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00406015
test bl, bl
jne 0x5f95f2
push 0x6923a4
lea ecx, [ebp - 0x40]
call fcn.004064e2
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x29
push eax
mov ecx, edi
call fcn.005f8730
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
mov bl, al
call fcn.00406015
test bl, bl
jne 0x5f9524
jmp 0x5f90db
mov eax, dword [esi + 0x18]
mov ecx, edi
push esi
push dword [ebp - 0xd4]
cmp dword [eax*4 + 0x63c208], 0xa
push dword [ebp - 0xd0]
jne 0x5f95e3
call fcn.005f9700
test al, al
jne 0x5f95f8
jmp 0x5f90db
call fcn.005f9930
test al, al
je 0x5f90db
jmp 0x5f95f8
mov ebx, dword [ebp - 0xd8]
push 0x6976ac
lea ecx, [ebp - 0x88]
call fcn.004064e2
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x2a
or ebx, 0x20
mov ecx, edi
push eax
mov dword [ebp - 0xcc], ebx
call fcn.005fd420
test al, al
jne 0x5f964f
push 0x6923a4
lea ecx, [ebp - 0x40]
call fcn.004064e2
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0x2b
or ebx, 0x40
mov ecx, edi
push eax
mov dword [ebp - 0xcc], ebx
call fcn.005fd420
test bl, 0x40
je 0x5f965f
lea ecx, [ebp - 0x40]
and ebx, 0xffffffbf
call fcn.00406015
mov dword [ebp - 4], 0
test bl, 0x20
je 0x5f9676
lea ecx, [ebp - 0x88]
call fcn.00406015
mov eax, dword [esi + 0x40]
mov al, byte [eax + 0x1e]
test al, al
je 0x5f96d4
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xa0]
push str.text_format_contains_deprecated_field__
push eax
call fcn.00403706
push 0x643320
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x2c
push eax
call fcn.00403787
add esp, 0x18
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2d
call fcn.005fc920
lea ecx, [ebp - 0xb8]
call fcn.00406015
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0
call fcn.00406015
mov eax, dword [edi + 8]
test eax, eax
je 0x5f96f1
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push esi
push eax
call fcn.005fc750
add esp, 0x10
mov bl, 1
jmp 0x5f90dd