Function at 0x10010780
Capabilities:
Access peb ldr_data
Terminate process

Disassembly:
mov edx, dword [esp + 8]
add dword [esp + 0x14], 0xabd
add edx, 0xffffc787
push ebx
mov ebx, dword [esp + 8]
push ebp
mov ebp, dword [esp + 0x40]
add ebx, 0x255
push esi
mov esi, dword [esp + 0x40]
push edi
mov edi, dword [esp + 0x34]
lea eax, [ebp - 0x3c04]
mov dword [esp + 0x34], eax
add edi, 0x5de
lea eax, [ebp + 0x216]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffe6d
cmp ebx, eax
jl 0x10010891
mov eax, dword [esp + 0x28]
lea ecx, [edx + 0x3c85]
add eax, 0xfffff698
cmp eax, ecx
jge 0x100107f7
add dword [esp + 0x34], 0x40db
jmp 0x10010891
mov ecx, dword [esi + 0x1f8]
lea eax, [ebp + 0x792]
imul eax, edx
add eax, ebx
cmp ecx, eax
je 0x10010858
mov eax, dword [esi + 0x148]
lea edx, [ebp - 0x3c04]
or eax, edx
cmp edi, eax
jae 0x1001084a
sub ecx, dword [esi + 0xc]
cmp edi, ecx
jae 0x10010858
mov ebp, dword [esi + 0xd8]
sub ecx, edi
dec ecx
mov eax, 0xaaaaaaab
mul ecx
add ebp, 0x3712
shr edx, 1
inc edx
nop
sub edx, 1
jne 0x10010840
mov dword [esi + 0x38], ebp
jmp 0x10010858
mov eax, dword [esi + 0x70]
imul eax, dword [esp + 0x48]
mov dword [esi + 0x154], eax
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x128]
cmp edi, eax
jae 0x10010891
mov eax, dword [esi + 0x154]
sub eax, ebx
cmp edi, eax
je 0x10010891
mov ebp, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop word [eax + eax]
call ebp
mov eax, dword [esi + 0x154]
add edi, 2
sub eax, ebx
cmp edi, eax
jne 0x10010880
mov ecx, dword [esi + 0x19c]
cmp ecx, dword [esi + 0x44]
je 0x10010a91
mov eax, dword [esi + 8]
push 4
mov eax, dword [eax + 0xc]
sub eax, 0x3331
push eax
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov ecx, dword [esi + 0x164]
lea ebx, [esi + 0x164]
sub dword [esi + 0xf4], ecx
mov edi, eax
inc ecx
mov dword [ebx], ecx
test edi, edi
je 0x10010a61
mov eax, dword [esi + 0x19c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
push eax
push ecx
push edi
call fcn.10005ae0
mov eax, dword [esi + 0x1a0]
add esp, 0xc
call eax
mov ecx, dword [esi + 4]
mov dword [esi + 0x1a8], eax
or ecx, 0x4396
mov eax, dword [esi + 0x28]
mov dword [eax + 0x1cc], ecx
mov ecx, dword [esi + 8]
mov ebp, dword [esi + 0x1a8]
mov eax, dword [ecx + 0xc]
xor eax, 0xffffbcce
cmp ebp, eax
mov eax, dword [esi + 0x174]
jne 0x1001094e
mov eax, dword [eax + 0xdc]
add eax, 0x3d52
add dword [esi + 0x8c], eax
mov eax, dword [ecx + 0xc]
sub eax, 0x4330
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
imul eax, dword [eax + 0x1c0], 0xc1b20da5
mov ecx, dword [esi + 0xc]
xor ecx, 0x23c
cmp eax, ecx
je 0x10010981
mov edx, dword [esi + 0x50]
sub ecx, eax
nop word [eax + eax]
mov eax, 0xfffffe40
sub eax, esi
add edx, eax
sub ecx, 1
jne 0x10010970
mov dword [esi + 0x50], edx
mov eax, dword [esi + 0x1ac]
push edi
push ebp
call eax
test eax, eax
jne 0x10010997
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [esi + 0x88]
xor eax, 0x3879
or dword [esi + 0x194], eax
mov eax, dword [esi + 0x174]
mov eax, dword [eax + 0xc]
sub eax, 0x432d
push eax
mov eax, dword [esi + 0x28]
push 0x1000
mov eax, dword [eax + 0x94]
lea eax, [eax*4 - 0xcb24]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
add dword [esi + 0x1e8], 0x75ef
mov ecx, eax
test ecx, ecx
je 0x10010a4a
cmp dword [esi + 0x60], 0x34ee
jae 0x100109f5
mov dword [esi + 0x48], 0x4330
mov eax, dword [esi + 0x19c]
mov eax, dword [eax + 8]
mov eax, dword [eax]
cmp eax, 0xffffffff
jne 0x10010a09
mov dword [ecx], edi
jmp 0x10010a0c
mov dword [ecx + eax*4], edi
mov eax, dword [esi + 0x188]
add eax, 0xffffc1e6
xor dword [esi + 0x14], eax
dec eax
mov dword [esi + 0x120], eax
mov eax, dword [esi + 8]
imul eax, dword [eax + 0x30], 0x3346b907
cmp eax, 0x4330
jbe 0x10010a43
mov eax, dword [esi + 0x1cc]
sub eax, 0x3d52
xor dword [esi + 0x1f8], eax
mov dword fs:[0x2c], ecx
mov eax, dword [esi + 8]
mov ecx, 0xffffbe31
mov dword [esi + 0xe8], ebx
sub ecx, dword [eax + 0x48]
add dword [esi + 0x144], ecx
mov eax, dword [esi + 0x28]
imul edx, dword [eax + 0x30], 0x2093006c
cmp edx, 0x3c05
jg 0x10010a91
mov ecx, dword [esi + 0x1ec]
mov eax, 0x3c06
sub eax, edx
or ecx, 0xcadaa3c
sub eax, 1
jne 0x10010a80
mov dword [esi + 0x1ec], ecx
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x48], eax
jge 0x10010c2d
mov edx, dword fs:[0x30]
mov dword [esi + 0x1b0], edx
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0x14]
mov dword [esi + 0x1b8], ecx
mov eax, dword [edx + 0xc]
add eax, 0x14
cmp ecx, eax
je 0x10010c1f
nop word [eax + eax]
mov eax, dword [esi + 4]
add dword [esi + 0x1cc], 0x41cf
mov eax, dword [eax + 0x30]
add eax, 0x166
cmp eax, 0x387a
jge 0x10010b0a
mov edx, 0x387a
sub edx, eax
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 4]
add ecx, 0x3712
mov dword [eax + 0x1a4], ecx
sub edx, 1
jne 0x10010af3
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x134]
sub eax, 0x3879
xor dword [ecx + 0x194], eax
add dword [esi + 0x1b8], 0xfffffff8
mov ecx, dword [esi + 0x1b8]
mov edx, dword [ecx + 0x18]
cmp edx, section..data
ja 0x10010b42
mov eax, dword [ecx + 0x20]
add eax, edx
cmp eax, section..data
ja 0x10010b8d
mov eax, dword [ecx + 8]
mov dword [esi + 0x1b8], eax
mov eax, dword [esi + 0x78]
sub eax, 0x3879
cmp dword [esi + 0x48], 0x4330
mov dword [esi + 0x14], eax
jae 0x10010b70
mov eax, dword [esi + 0x134]
add eax, 0x40db
mov dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x1b0]
mov eax, dword [eax + 0xc]
add eax, 0x14
cmp dword [esi + 0x1b8], eax
jne 0x10010ad0
jmp 0x10010c1f
mov eax, edx
mov dword [esi + 0x1b4], eax
mov eax, dword [esi + 0x174]
add dword [eax + 0x164], 0xffffc1aa
mov ecx, dword [esi + 0x1b8]
mov eax, dword [esi + 0x44]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax + 0x28]
mov eax, dword [esi + 0x1b8]
add ecx, dword [esi + 0x44]
mov dword [eax + 0x1c], ecx
movzx eax, byte [0x10039f8c]
xor eax, 0x34ee
sub dword [esi + 0x38], eax
cmp dword [esi + 0x134], 0x4330
mov eax, dword [esi + 0x1b8]
mov ecx, dword [esi + 0x38]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x200], eax
ja 0x10010c01
mov eax, dword [esi + 0x8c]
or eax, 0x40db
sub dword [esi + 0xd0], eax
mov eax, dword [esi + 0x40]
imul eax, ecx
mov dword [esi + 0x40], eax
lea eax, [ecx + 1]
mov ecx, dword [esi + 0x1b8]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x50]
mov dword [ecx + 0x20], eax
mov eax, dword [esi + 0x30]
add eax, 0x3879
mov dword [esi + 0x1f8], eax
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
add eax, 0xfffffa17
pop ebx
ret