Function at 0x100040c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x288
mov eax, dword [0x101effd8]
xor eax, esp
mov dword [esp + 0x284], eax
movaps xmm0, xmmword [str.SignalChromeElf]
lea eax, [esp + 0x78]
push esi
push edi
push 0x104
push eax
push 0
movups xmmword [esp + 0x7c], xmm0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x80]
push 0x5c
push eax
call fcn.1015bd3c
add esp, 8
test eax, eax
je 0x10004116
xor ecx, ecx
mov word [eax + 2], cx
push str.Ensup.log
lea eax, [esp + 0x84]
push 0x104
push eax
call fcn.1015fcee
xor ecx, ecx
mov dword [esp + 0x5c], 0
add esp, 0xc
mov dword [esp + 0x24], ecx
xorps xmm0, xmm0
mov dword [esp + 0x54], 0xf
movaps xmmword [esp + 0x40], xmm0
lea edx, [esp + 0x80]
xor esi, esi
mov byte [esp + 0x40], 0
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], esi
call fcn.10003e90
lea edx, [esp + 0x40]
mov ecx, eax
call fcn.10003c30
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x100041aa
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100041a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000437d
push ecx
push edx
call fcn.1014345a
add esp, 8
lea edx, [esp + 0x40]
lea ecx, [esp + 0x28]
call fcn.10003a30
lea ecx, [esp + 0x64]
cmp ecx, eax
je 0x100041e0
mov esi, dword [eax]
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x10004216
mov edx, dword [esp + 0x30]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1000420c
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004382
push edx
push ecx
call fcn.1014345a
add esp, 8
mov ecx, esi
call fcn.10003510
mov ecx, eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x100042d0
mov esi, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x18], esi
cmp dword [ecx + 0x7c], 0
je 0x100042c7
mov edx, dword [ecx + 0x78]
add edx, esi
mov dword [esp + 0x14], edx
mov eax, dword [edx + 0x18]
test eax, eax
je 0x100042c7
cmp dword [edx + 0x14], 0
je 0x100042c7
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
add ecx, esi
add edx, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
test eax, eax
je 0x100042c7
mov eax, dword [ecx]
lea edi, [esp + 0x70]
add esi, eax
sub edi, esi
nop dword [eax]
mov cl, byte [edi + esi]
call fcn.10003160
mov cl, byte [esi]
mov dl, al
call fcn.10003160
cmp dl, al
ja 0x10004330
jb 0x10004330
inc esi
or al, dl
jne 0x10004280
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x14]
movzx ecx, word [edx]
cmp ecx, dword [eax + 0x14]
ja 0x100042c7
mov eax, dword [eax + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx]
add eax, ecx
je 0x100042c7
call eax
mov ecx, dword [esp + 0x1c]
call fcn.10003850
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x10004306
mov edx, dword [esp + 0x24]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x100042fc
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004387
push edx
push ecx
call fcn.1014345a
add esp, 8
mov ecx, dword [esp + 0x54]
cmp ecx, 0x10
jb 0x10004369
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000435f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004387
jmp 0x1000435f
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
inc edx
mov ecx, dword [esp + 0x10]
add dword [esp + 8], 2
add ecx, 4
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
cmp edx, dword [eax + 0x18]
jae 0x100042c7
mov esi, dword [esp + 0x18]
jmp 0x10004272
push ecx
push edx
call fcn.1014345a
add esp, 8
mov ecx, dword [esp + 0x28c]
pop edi
pop esi
xor ecx, esp
call fcn.1014306d
mov esp, ebp
pop ebp
ret
call fcn.10160f95
call fcn.10160f95
call fcn.10160f95
int3