Function at 0x10003745
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov ebp, dword [edx + 4]
mov edi, edx
mov esi, ecx
add dword [ecx + 0x1070], ebp
mov dword [esp], ecx
mov eax, dword [edx]
and eax, 0xfffffffe
mov dword [edx], eax
je 0x10003645
mov ebx, edi
lea esi, [esi + 0x1080]
sub ebx, eax
mov ecx, esi
mov edx, ebx
sar edx, 0xc
call fcn.10002a36
test al, al
je 0x10003642
test byte [ebx], 1
jne 0x10003642
mov eax, 0xfffff02f
add eax, dword [ebx + 4]
cmp eax, 0x3efff02e
ja 0x10003642
mov ebp, dword [esp]
mov edx, ebx
mov ecx, ebp
call fcn.100034b3
mov eax, dword [edi + 4]
sar edi, 0xc
mov ecx, esi
mov esi, ebp
mov edx, edi
add dword [ebx + 4], eax
call fcn.10003573
mov ebp, dword [ebx + 4]
mov edi, ebx
cmp ebp, 0x3f000001
jl 0x10003645
mov ecx, esi
mov edx, ebx
push 0x3f000000
call fcn.10002c03
mov ecx, esi
mov edx, ebx
mov edi, eax
call fcn.10002c97
mov ebp, dword [edi + 4]
jmp 0x10003645
mov esi, dword [esp]
mov dword [esp + 4], ebp
lea ebp, [ebp + edi]
lea esi, [esi + 0x1080]
mov ebx, ebp
mov ecx, esi
sar ebx, 0xc
mov edx, ebx
call fcn.10002a36
test al, al
je 0x100036ba
test byte [ebp], 1
jne 0x100036ba
cmp dword [esp + 4], 0x3effffff
jg 0x100036ba
cmp dword [ebp + 4], 0xfd1
jl 0x100036ba
mov ecx, dword [esp]
mov edx, ebp
call fcn.100034b3
mov eax, dword [ebp + 4]
mov ecx, esi
mov edx, ebx
add dword [edi + 4], eax
call fcn.10003573
cmp dword [edi + 4], 0x3f000001
jl 0x100036ba
mov esi, dword [esp]
mov edx, edi
mov ecx, esi
push 0x3f000000
call fcn.10002c03
mov ecx, esi
mov edx, eax
call fcn.10002c97
mov ecx, dword [esp]
mov edx, edi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.10002c97
push ebx
push edi
push esi
mov ebx, dword [edx + 4]
mov esi, edx
mov edi, ecx
sar edx, 0xc
lea ecx, [ecx + 0x1080]
call fcn.10003573
mov eax, dword [edi + 0x1068]
mov ecx, dword [edi + 0x106c]
cmp ecx, eax
cmovl ecx, eax
sub eax, ebx
mov dword [edi + 0x106c], ecx
mov dword [edi + 0x1068], eax
push 0x8000
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x10003718
pop esi
pop edi
pop ebx
ret
push str.virtualFree_failing_
call fcn.1000cb60
add esp, 4
push 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
mov eax, dword [edx + 4]
sub dword [ecx + 0x1074], eax
cmp eax, 0x3f000001
jl 0x100035a9
jmp 0x100036cb
push ebx
push edi
push esi
mov esi, edx
and edx, 0xfffff000
mov eax, dword [edx + 4]
cmp eax, 0xfd0
jg 0x100037ab
cmp dword [edx + 8], ecx
jne 0x1000379d
sub dword [ecx + 0x1074], eax
mov edi, dword [edx + 0x14]
mov dword [esi], edi
mov dword [edx + 0x14], esi
mov esi, dword [edx + 0x18]
cmp esi, eax
jge 0x100037d4
mov edi, eax
sar edi, 0x1f
shr edi, 0x1c
add edi, eax
sar edi, 4
mov ebx, dword [ecx + edi*4]
mov dword [edx + 0xc], ebx
mov ebx, dword [ecx + edi*4]
test ebx, ebx
je 0x10003791
mov dword [ebx + 0x10], edx
add esi, eax
mov dword [ecx + edi*4], edx
mov dword [edx + 0x18], esi
jmp 0x100037d0
mov dword [esi], eax
mov eax, dword [edx + 0x20]
mov dword [esi], eax
lock cmpxchg dword [edx + 0x20], esi
jne 0x1000379b
jmp 0x100037d0
mov esi, dword [edx + 8]
cmp esi, ecx
jne 0x100037bd
pop esi
pop edi
pop ebx
jmp 0x1000372c
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x107c]
mov dword [edx + 0xc], eax
lock cmpxchg dword [esi + 0x107c], edx
jne 0x100037ba
pop esi
pop edi
pop ebx
ret
add esi, eax
cmp esi, 0xfd0
mov dword [edx + 0x18], esi
jne 0x100037d0
mov esi, eax
sar esi, 0x1f
shr esi, 0x1c
add esi, eax
mov eax, dword [edx + 0xc]
sar esi, 4
cmp dword [ecx + esi*4], edx
je 0x1000380b
mov esi, dword [edx + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0xc]
test eax, eax
je 0x10003819
mov esi, dword [edx + 0x10]
mov dword [eax + 0x10], esi
jmp 0x10003819
test eax, eax
mov dword [ecx + esi*4], eax
je 0x10003819
mov dword [eax + 0x10], 0
xor eax, eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 4], 0x1000
pop esi
pop edi
pop ebx
jmp 0x100035a9