Function at 0x10003746
Capabilities:
Terminate process

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, edx
mov ebx, ecx
push edi
mov eax, dword [esi + 4]
lea ebp, [ebx + 0x1084]
add dword [ebx + 0x1078], eax
and dword [esi], 0xfffffffe
cmp dword [esi], 0
je 0x10002ade
mov edi, esi
mov ecx, ebp
sub edi, dword [esi]
mov edx, edi
sar edx, 0xc
call fcn.10002499
test al, al
je 0x10002ade
mov al, byte [edi]
not al
and al, 1
je 0x10002ade
mov ecx, 0xfe0
cmp dword [edi + 4], ecx
setg al
jle 0x10002a9e
cmp dword [edi + 4], 0x3f000000
setl al
test al, al
je 0x10002ade
mov edx, edi
mov ecx, ebx
call fcn.10003928
mov eax, dword [esi + 4]
mov ecx, ebp
add dword [edi + 4], eax
sar esi, 0xc
mov edx, esi
call fcn.1000285e
mov eax, 0x3f000000
mov esi, edi
cmp dword [edi + 4], eax
jle 0x10002ade
push eax
mov edx, edi
mov ecx, ebx
call fcn.10003eeb
mov edx, edi
mov ecx, ebx
mov esi, eax
call fcn.100019b9
mov edi, dword [esi + 4]
lea ecx, [ebx + 0x1084]
add edi, esi
mov ebp, edi
sar ebp, 0xc
mov edx, ebp
call fcn.10002499
test al, al
je 0x10002b55
mov al, byte [edi]
not al
and al, 1
je 0x10002b55
mov ecx, 0xfe0
cmp dword [edi + 4], ecx
setg al
jle 0x10002b18
cmp dword [esi + 4], 0x3f000000
setl al
test al, al
je 0x10002b55
mov edx, edi
mov ecx, ebx
call fcn.10003928
mov eax, dword [edi + 4]
lea ecx, [ebx + 0x1084]
add dword [esi + 4], eax
mov edx, ebp
call fcn.1000285e
mov eax, 0x3f000000
cmp dword [esi + 4], eax
jle 0x10002b55
push eax
mov edx, esi
mov ecx, ebx
call fcn.10003eeb
mov edx, eax
mov ecx, ebx
call fcn.100019b9
pop edi
mov edx, esi
mov ecx, ebx
pop esi
pop ebp
pop ebx
add esp, 4
jmp fcn.100019b9
push ebx
push esi
push edi
mov ebx, edx
mov edi, ecx
sar edx, 0xc
mov esi, dword [ebx + 4]
lea ecx, [edi + 0x1084]
call fcn.1000285e
mov ecx, dword [edi + 0x1070]
mov eax, dword [edi + 0x1074]
cmp eax, ecx
push 0x8000
cmovl eax, ecx
sub ecx, esi
push 0
push ebx
mov dword [edi + 0x1074], eax
mov dword [edi + 0x1070], ecx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
pop edi
pop esi
pop ebx
test eax, eax
je 0x10002bcb
ret
push str.virtualFree_failing_
call fcn.1000477c
pop ecx
push 1
call fcn.1000ba6a
int3
push ebx
push ebp
push esi
mov esi, edx
push edi
and esi, 0xfffff000
mov edi, ecx
mov ebx, dword [esi + 4]
lea ebp, [esi + 0x10]
mov eax, dword [edi + 0x107c]
sub eax, ebx
mov dword [edi + 0x107c], eax
cmp ebx, 0xfe0
jle 0x100037a4
call fcn.10002d22
push ebp
lea edx, [edi + 0x1484]
mov dword [edi + 0x1488], eax
mov ecx, edi
call fcn.100025e3
cmp dword [esi + 4], 0x3f000001
mov ecx, edi
pop edi
mov edx, esi
pop esi
pop ebp
pop ebx
jge 0x1000379f
jmp 0x10002a4b
jmp 0x10002b7e
and dword [edx + 4], 0
mov eax, dword [ebp]
mov dword [edx], eax
mov eax, dword [esi + 0x14]
mov dword [ebp], edx
cmp eax, ebx
jl 0x100037f0
lea ecx, [eax + ebx]
mov dword [esi + 0x14], ecx
cmp ecx, 0xfe0
jne 0x10003814
mov eax, ebx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
add eax, 2
push esi
lea eax, [edi + eax*4]
push eax
call fcn.10004567
pop ecx
pop ecx
mov ecx, edi
mov dword [esi + 4], 0x1000
pop edi
mov edx, esi
pop esi
pop ebp
pop ebx
jmp 0x1000379a
mov eax, ebx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov ecx, dword [edi + eax*4 + 8]
mov dword [esi + 8], ecx
mov ecx, dword [edi + eax*4 + 8]
test ecx, ecx
je 0x1000380d
mov dword [ecx + 0xc], esi
mov dword [edi + eax*4 + 8], esi
add dword [esi + 0x14], ebx
pop edi
pop esi
pop ebp
pop ebx
ret