Function at 0x1f010170
Capabilities:
Inspect section memory permissions

Disassembly:
mov eax, dword [esp + 0x20]
sub esp, 0x84c
push ebx
push ebp
xor ecx, ecx
push esi
mov esi, dword [esp + 0x85c]
push edi
mov dword [eax], ecx
cmp dword [esp + 0x86c], ecx
je 0x1f0101a6
xor eax, eax
mov byte [esi + 0xb6], cl
mov dword [esi + 0x1b20], eax
mov dword [esi + 0x1b24], eax
mov eax, dword [esp + 0x864]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], ecx
mov ebx, 1
cmp eax, ecx
je 0x1f011363
mov ebp, ebx
mov edi, dword [esp + 0x14]
push 0x7c
push edi
call fcn.1f03e35e
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x1f0101f3
xor ecx, ecx
mov word [eax], cx
add eax, 2
mov dword [esp + 0x14], eax
push edi
call fcn.1f0367b0
mov edi, eax
push 0x1f05980c
push edi
call fcn.1f03ecf3
add esp, 0xc
test eax, eax
jne 0x1f010218
mov byte [esi + 0xb6], al
jmp 0x1f011018
push 0x1f059804
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010236
mov byte [esi + 0xb6], 1
jmp 0x1f011018
push str.InOut
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010254
mov byte [esi + 0xb6], 2
jmp 0x1f011018
push str.None
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010272
mov byte [esi + 0xb6], 4
jmp 0x1f011018
push str.InNoRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010290
mov byte [esi + 0xb6], 3
jmp 0x1f011018
push str.BreakBeforeCall
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f0102b9
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], ebp
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push str.BreakAfterCall
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f0102e3
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 2
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push str.BreakBeforeAndAfterCall
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010315
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], ebp
or dword [esi + 0x1b20], 2
mov edx, ecx
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push str.BreakAfterCallIfNullRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f01033f
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x10
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push str.BreakAfterCallIfNotNullRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010369
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x20
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push str.LogIfNullRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010396
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x200
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push str.LogIfNotNullRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f0103c3
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x100
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push str.LogInputAfterBreak
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f0103ed
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 4
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push str.LogOutputAfterBreak
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010417
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 8
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push str.LogOnFailure
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010444
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x400
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push str.LogOnSuccess
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010471
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x800
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push str.BreakOnFailure
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f01049b
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x40
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push str.BreakOnSuccess
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f0104c8
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x80
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push str.FailureIfNullRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f0104f5
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x1000
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push str.FailureIfNotNullRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010522
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x2000
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push str.FailureIfNegativeRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f01054f
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x10000
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push str.FailureIfPositiveRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f01057c
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x20000
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push 0x12
push str.FailureIfRetValue
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f0105c6
lea edx, [esi + 0x1b34]
push edx
add edi, 0x24
push edi
call fcn.1f034de0
add esp, 8
test eax, eax
je 0x1f011018
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x4000
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push 0x13
push str.FailureIfRetValue_
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010610
lea ecx, [esi + 0x1b34]
push ecx
add edi, 0x26
push edi
call fcn.1f034de0
add esp, 8
test eax, eax
je 0x1f011018
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x8000
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push str.FailureIfNullFloatingRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f01063d
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x40000
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push str.FailureIfNotNullFloatingRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f01066a
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x80000
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push str.FailureIfFloatingNegativeRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010697
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x400000
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push str.FailureIfFloatingPositiveRet
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f0106c4
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x800000
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push 0x1a
push str.FailureIfFloatingRetValue
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010713
lea ecx, [esi + 0x1b38]
push ecx
push 0x1f058090
add edi, 0x34
push edi
call fcn.1f03e4e3
add esp, 0xc
test eax, eax
jle 0x1f011018
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x100000
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push 0x1b
push str.FailureIfFloatingRetValue_
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010762
lea eax, [esi + 0x1b38]
push eax
push 0x1f058090
add edi, 0x36
push edi
call fcn.1f03e4e3
add esp, 0xc
test eax, eax
jle 0x1f011018
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x200000
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push 0x13
push str.FailureIfSignedRet_
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f0107ac
lea edx, [esi + 0x1b34]
push edx
add edi, 0x26
push edi
call fcn.1f034de0
add esp, 8
test eax, eax
je 0x1f011018
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x1000000
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push 0x13
push 0x1f059368
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f0107f6
lea ecx, [esi + 0x1b34]
push ecx
add edi, 0x26
push edi
call fcn.1f034de0
add esp, 8
test eax, eax
je 0x1f011018
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x2000000
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push 0x15
push str.FailureIfUnsignedRet_
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010840
lea eax, [esi + 0x1b34]
push eax
add edi, 0x2a
push edi
call fcn.1f034de0
add esp, 8
test eax, eax
je 0x1f011018
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x4000000
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push 0x15
push 0x1f059310
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f01088a
lea edx, [esi + 0x1b34]
push edx
add edi, 0x2a
push edi
call fcn.1f034de0
add esp, 8
test eax, eax
je 0x1f011018
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x8000000
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push 0xd
push str.FailureIfRet_
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f0108d4
lea ecx, [esi + 0x1b34]
push ecx
add edi, 0x1a
push edi
call fcn.1f034de0
add esp, 8
test eax, eax
je 0x1f011018
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x4000000
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push 0xd
push 0x1f0592d8
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f01091e
lea eax, [esi + 0x1b34]
push eax
add edi, 0x1a
push edi
call fcn.1f034de0
add esp, 8
test eax, eax
je 0x1f011018
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x8000000
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push 0x15
push str.FailureIfFloatingRet_
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f01096d
lea edx, [esi + 0x1b38]
push edx
push 0x1f058090
add edi, 0x2a
push edi
call fcn.1f03e4e3
add esp, 0xc
test eax, eax
jle 0x1f011018
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x10000000
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push 0x15
push 0x1f059280
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f0109bc
lea ecx, [esi + 0x1b38]
push ecx
push 0x1f058090
add edi, 0x2a
push edi
call fcn.1f03e4e3
add esp, 0xc
test eax, eax
jle 0x1f011018
mov edx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x20000000
mov dword [esi + 0x1b24], edx
jmp 0x1f011018
push 0x18
push str.FailureIfLastErrorValue
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010a06
lea eax, [esi + 0x1b40]
push eax
add edi, 0x30
push edi
call fcn.1f034d40
add esp, 8
test eax, eax
je 0x1f011018
mov ecx, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x40000000
mov dword [esi + 0x1b24], ecx
jmp 0x1f011018
push 0x19
push str.FailureIfLastErrorValue_
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010a50
lea edx, [esi + 0x1b40]
push edx
add edi, 0x32
push edi
call fcn.1f034d40
add esp, 8
test eax, eax
je 0x1f011018
mov eax, dword [esi + 0x1b24]
or dword [esi + 0x1b20], 0x80000000
mov dword [esi + 0x1b24], eax
jmp 0x1f011018
push 0x18
push 0x1f0591e4
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010a96
lea ecx, [esi + 0x1b40]
push ecx
add edi, 0x30
push edi
call fcn.1f034d40
add esp, 8
test eax, eax
je 0x1f011018
mov edx, dword [esi + 0x1b20]
or dword [esi + 0x1b24], ebp
mov dword [esi + 0x1b20], edx
jmp 0x1f011018
push 0x18
push 0x1f0591b0
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010add
lea eax, [esi + 0x1b40]
push eax
add edi, 0x30
push edi
call fcn.1f034d40
add esp, 8
test eax, eax
je 0x1f011018
mov ecx, dword [esi + 0x1b20]
or dword [esi + 0x1b24], 2
mov dword [esi + 0x1b20], ecx
jmp 0x1f011018
push str.BlockingCall
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010afa
mov dword [esi + 0x1b28], ebp
jmp 0x1f011018
push 0xc
push str.DisplayName
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010b7b
add edi, 0x18
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1f010b16
sub eax, edx
sar eax, 1
lea edx, [eax + eax + 2]
mov eax, dword [0x1f0837b0]
push edx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebp, eax
test ebp, ebp
je 0x1f0110b9
mov ecx, dword [esi + 0x1b08]
mov edx, dword [0x1f0837b0]
push ecx
push 0
push edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esi + 0x1b08], ebp
mov eax, edi
sub ebp, edi
movzx ecx, word [eax]
mov word [eax + ebp], cx
add eax, 2
test cx, cx
jne 0x1f010b62
mov ebp, 1
jmp 0x1f011018
push 0x1d
push str.FirstBytesCanExecuteAnywhere
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010bc2
lea eax, [esp + 0x20]
push eax
add edi, 0x3a
push edi
call fcn.1f034d40
add esp, 8
test eax, eax
je 0x1f011018
cmp dword [esp + 0x868], 0
jne 0x1f011018
mov ecx, dword [esp + 0x20]
mov dword [esi + 4], ecx
jmp 0x1f011018
push 0x1f059100
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
je 0x1f010c31
push 0x36
push str.FirstBytesCanExecuteAnywhereWithRelativeAddressChange
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010c1d
lea edx, [esp + 0x1c]
push edx
add edi, 0x6c
push edi
call fcn.1f034d40
add esp, 8
test eax, eax
je 0x1f011018
cmp dword [esp + 0x868], 0
jne 0x1f011018
mov eax, dword [esp + 0x1c]
mov dword [esi], ebp
mov dword [esi + 4], eax
jmp 0x1f011018
push 0x1f059020
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010c4b
mov dword [esi], ebp
cmp dword [esp + 0x868], 0
jne 0x1f011018
mov dword [esi + 4], 5
jmp 0x1f011018
push str.FirstBytesCantExecuteAnywhere
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010c76
cmp dword [esp + 0x868], eax
jne 0x1f011018
mov dword [esi + 4], 0xffffffff
jmp 0x1f011018
push str.DontCheckModulesFilters
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010c93
mov dword [esi + 0x1b14], ebp
jmp 0x1f011018
push str.NoStackShadowSpace
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
je 0x1f011018
push str.DontHookReturnAddress
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010cc6
mov dword [esi + 0x1b74], ebp
jmp 0x1f011018
push 0x10
push str.LargeReturnType
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010cec
add edi, 0x20
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], ebp
mov ebx, ebp
jmp 0x1f011018
push 0x10
push str.LargeReturnSize
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010d28
lea ecx, [esp + 0x38]
push ecx
add edi, 0x20
push edi
call fcn.1f034d40
add esp, 8
test eax, eax
je 0x1f010d1d
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ebp
mov ebx, ebp
jmp 0x1f011018
push str.LargeReturn
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010d45
mov dword [esp + 0x10], ebp
mov ebx, ebp
jmp 0x1f011018
push str.LargeReturnOnStack
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010d64
mov dword [esp + 0x10], ebp
mov dword [esp + 0x2c], ebp
jmp 0x1f011018
push 0x16
push str.MethodLargeReturnType
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010d8a
add edi, 0x2c
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], ebp
xor ebx, ebx
jmp 0x1f011018
push 0x16
push str.MethodLargeReturnSize
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010dc6
lea eax, [esp + 0x34]
push eax
add edi, 0x2c
push edi
call fcn.1f034d40
add esp, 8
test eax, eax
je 0x1f010dbb
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebp
xor ebx, ebx
jmp 0x1f011018
push str.MethodLargeReturn
push edi
call fcn.1f03ecf3
add esp, 8
test eax, eax
jne 0x1f010de3
mov dword [esp + 0x10], ebp
xor ebx, ebx
jmp 0x1f011018
push 0xd
push str.ReturnDefine
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010ec2
jmp 0x1f010e00
movzx ecx, word [eax + 0x1f082a08]
mov word [esp + eax + 0x654], cx
add eax, 2
test cx, cx
jne 0x1f010e00
push 0x104
add edi, 0x1a
lea edx, [esp + 0x658]
push edi
push edx
call fcn.1f040754
lea eax, [esp + 0x660]
push eax
call fcn.1f0340c0
add esp, 0x10
test eax, eax
je 0x1f010e8f
mov ecx, dword [0x1f0837b0]
push 0x208
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x104
push edi
push eax
mov dword [esi + 0xc4], eax
call fcn.1f03ea07
mov edx, dword [esi + 0xc4]
add esp, 0xc
xor eax, eax
mov word [edx + 0x206], ax
mov dword [esi + 0xc8], 0xb2
mov byte [esi + 0xb7], 1
jmp 0x1f011018
lea ecx, [esp + 0x654]
push ecx
push str.File__s_not_found
lea edx, [esp + 0x44]
push 0x30c
push edx
call fcn.1f03ea51
add esp, 0x10
xor eax, eax
lea ecx, [esp + 0x3c]
mov word [esp + 0x652], ax
push ecx
jmp 0x1f011011
push 0x16
push str.ReturnPointedDataSize
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010f92
push 3
add edi, 0x2c
push 0x1f058ddc
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010f54
lea edx, [esp + 0x30]
push edx
add edi, 6
push edi
mov byte [esi + 0xd9], 1
mov dword [esi + 0xcc], eax
call fcn.1f034d40
mov al, byte [esp + 0x38]
push 0x2a
push edi
mov byte [esi + 0xda], al
call fcn.1f03e35e
add esp, 0x10
test eax, eax
je 0x1f010f3a
lea ecx, [esi + 0xd4]
push ecx
add eax, 2
push eax
call fcn.1f034d40
add esp, 8
jmp 0x1f010f40
mov dword [esi + 0xd4], ebp
mov al, byte [esi + 0xda]
test al, al
je 0x1f010f7c
dec al
mov byte [esi + 0xda], al
jmp 0x1f010f7c
lea edx, [esi + 0xcc]
push edx
push edi
mov byte [esi + 0xd9], 0
call fcn.1f034d40
add esp, 8
mov dword [esi + 0xc8], 0x1c
mov byte [esi + 0xb7], 1
mov dword [esi + 0xd0], 0
mov byte [esi + 0xdb], 0
jmp 0x1f011018
push 0xf
push str.FunctionPointer
push edi
call fcn.1f03f864
add esp, 0xc
test eax, eax
jne 0x1f010fae
mov dword [esi + 0x9c], ebp
jmp 0x1f011018
cmp dword [esp + 0x870], 0
mov edx, dword [esi + 0x1b08]
je 0x1f010fe9
mov eax, dword [esp + 0x874]
mov ecx, dword [esp + 0x870]
push eax
push ecx
push edx
push edi
push 0x1f058d40
lea eax, [esp + 0x50]
push 0x30c
push eax
call fcn.1f03ea51
add esp, 0x1c
jmp 0x1f011002
push edx
push edi
push str.Unknown_option__s_used_for_function__s
lea eax, [esp + 0x48]
push 0x30c
push eax
call fcn.1f03ea51
add esp, 0x14
xor ecx, ecx
lea edx, [esp + 0x3c]
mov word [esp + 0x652], cx
push edx
push 3
call fcn.1f029250
cmp dword [esp + 0x14], 0
jne 0x1f0101d0
cmp dword [esp + 0x10], 0
mov dword [esp + 0x1c], ebx
je 0x1f011363
cmp dword [esp + 0x868], 0
mov eax, dword [esp + 0x87c]
mov dword [eax], 1
jne 0x1f011363
mov al, byte [esi + 0xb6]
cmp al, 1
je 0x1f011062
cmp al, 2
je 0x1f011062
mov byte [esi + 0xb6], 1
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x20], ebp
cmp dword [esp + 0x24], ebp
jne 0x1f0110db
mov ebx, dword [esp + 0x878]
mov dword [esp + 0x20], 1
test ebx, ebx
je 0x1f01125b
cmp word [ebx], di
je 0x1f01125b
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x33]
push eax
push ebx
push esi
call fcn.1f00fb50
mov ebp, ebx
mov ebx, dword [esp + 0x30]
add esp, 0x14
jmp 0x1f0110df
push 0x10
push str.Error
push str.Memory_allocation_error
push 0
call fcn.1f020720
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x84c
ret 0x20
mov ebp, dword [esp + 0x24]
push ebp
call fcn.1f0367b0
mov eax, dword [esi + 0x1b04]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
push ebp
push eax
push 0x1f0832a8
call fcn.1f00f920
add esp, 0x18
test eax, eax
je 0x1f0111e8
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.1f037070
cmp dword [esp + 0x18], 0
jne 0x1f01112b
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 0x10]
jmp 0x1f0112d4
cmp dword [esp + 0x18], eax
je 0x1f011122
cmp dword [esp + 0x870], 0
je 0x1f011183
mov ecx, dword [esp + 0x874]
mov edx, dword [esp + 0x870]
mov eax, dword [esi + 0x1b08]
push ecx
push edx
push eax
mov ecx, edi
call fcn.1f037070
mov ecx, dword [esp + 0x24]
push eax
push ebp
push ecx
push str.Size_missmatch._Specified_size___u__kept:_return_type__s__size__u__for_function__s_in_file__s_at_line__u
lea edx, [esp + 0x58]
push 0x30c
push edx
call fcn.1f03ea51
add esp, 0x24
xor eax, eax
mov word [esp + 0x652], ax
jmp 0x1f0111b9
mov ecx, dword [esi + 0x1b08]
push ecx
mov ecx, edi
call fcn.1f037070
mov edx, dword [esp + 0x1c]
push eax
push ebp
push edx
push str.Size_missmatch._Specified_size___u__kept:_return_type__s__size__u__for_function__s
lea eax, [esp + 0x50]
push 0x30c
push eax
call fcn.1f03ea51
add esp, 0x1c
xor ecx, ecx
mov word [esp + 0x652], cx
lea edx, [esp + 0x3c]
push edx
push 2
call fcn.1f029250
mov ebp, dword [esp + 0x10]
xor edi, edi
test ebp, ebp
je 0x1f0112d4
mov eax, dword [0x1f0837b0]
push ebp
push edi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor ebp, ebp
jmp 0x1f0112d4
mov eax, dword [esp + 0x870]
mov edx, dword [esi + 0x1b08]
test eax, eax
je 0x1f01121d
mov ecx, dword [esp + 0x874]
push ecx
push eax
push edx
push ebp
push str.Large_return_type__s_for_function__s_in_file__s_at_line__u_not_found
lea eax, [esp + 0x50]
push 0x30c
push eax
call fcn.1f03ea51
add esp, 0x1c
jmp 0x1f011236
push edx
push ebp
push str.Large_return_type__s_for_function__s_not_found
lea eax, [esp + 0x48]
push 0x30c
push eax
call fcn.1f03ea51
add esp, 0x14
lea edx, [esp + 0x3c]
push edx
xor ecx, ecx
push 2
mov word [esp + 0x65a], cx
call fcn.1f029250
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
je 0x1f0112d4
cmp dword [esp + 0x18], 0
jne 0x1f0112d0
mov eax, dword [esp + 0x870]
mov edx, dword [esi + 0x1b08]
mov dword [esp + 0x18], 0x10
test eax, eax
je 0x1f0112a0
mov ecx, dword [esp + 0x874]
push ecx
push eax
push edx
push 0x10
push str.Unknown_Large_return_type_size__size_defaulted_to__u_bytes_._To_avoid_parsing_error__specify_either_size_or_provide_type_definition_for_function__s_in_file__s_at_line__u
lea eax, [esp + 0x50]
push 0x30c
push eax
call fcn.1f03ea51
add esp, 0x1c
jmp 0x1f0112ba
push edx
push 0x10
push str.Unknown_Large_return_type_size__size_defaulted_to__u_bytes_._To_avoid_parsing_error__specify_either_size_or_provide_type_definition_for_function__s
lea eax, [esp + 0x48]
push 0x30c
push eax
call fcn.1f03ea51
add esp, 0x14
lea edx, [esp + 0x3c]
push edx
xor ecx, ecx
push 2
mov word [esp + 0x65a], cx
call fcn.1f029250
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
push ebp
push edi
push eax
push ecx
push ebx
push esi
call fcn.1f00ceb0
test eax, eax
jne 0x1f011363
mov eax, dword [esp + 0x870]
lea ecx, [esp + 0x3c]
test eax, eax
je 0x1f01131f
mov edx, dword [esp + 0x874]
push edx
push eax
mov eax, dword [esi + 0x1b08]
push eax
push str.Invalid_large_return_size_for_function__s_in_file__s_at_line__u
push 0x30c
push ecx
call fcn.1f03ea51
add esp, 0x18
jmp 0x1f011339
mov eax, dword [esi + 0x1b08]
push eax
push str.Invalid_large_return_size_for_function__s
push 0x30c
push ecx
call fcn.1f03ea51
add esp, 0x10
lea eax, [esp + 0x3c]
push eax
xor edx, edx
push 3
mov word [esp + 0x65a], dx
call fcn.1f029250
test ebp, ebp
je 0x1f011363
mov ecx, dword [0x1f0837b0]
push ebp
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x1b74], 0
je 0x1f01138d
mov al, byte [esi + 0xb6]
cmp al, 4
je 0x1f01138d
cmp al, 3
je 0x1f01138d
push str.DontHookReturnAddress_only_compatible_with_InNoRet_option
push 2
call fcn.1f029250
mov byte [esi + 0xb6], 3
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x84c
ret 0x20