Function at 0x4018c0
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x10428
call fcn.004101c0
mov eax, dword [0x41b2d0]
xor eax, esp
mov dword [esp + 0x10424], eax
push ebx
push esi
push edi
mov edi, ecx
call fcn.00401bf0
mov esi, eax
test esi, esi
je 0x4143f1
sub esi, edi
cmp esi, 0xf0
ja 0x401b66
push esi
lea eax, [esp + 0x24]
push edi
push eax
call fcn.00409a10
mov eax, dword [0x4198a8]
lea ebx, [esp + 0x2d]
mov dword [esp + esi + 0x2c], eax
add esp, 0xc
mov eax, dword [0x4198ac]
add ebx, esi
mov dword [esp + esi + 0x24], eax
mov eax, dword [0x4198b0]
mov dword [esp + esi + 0x28], eax
mov eax, dword [0x4198b4]
mov dword [esp + esi + 0x2c], eax
mov eax, dword [0x4198b8]
mov dword [esp + esi + 0x30], eax
push str.MOZ_RUN_GTEST
mov dword [esp + 0x10], ebx
call fcn.00402dab
add esp, 4
test eax, eax
jne 0x401b6a
lea ecx, [esp + 0x20]
call fcn.00401b90
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x401b66
push ebp
push edi
lea eax, [esp + 0x12c]
mov byte [ebx], 0
push 0x104
push eax
call fcn.00402f0a
add esp, 0xc
test eax, eax
je 0x401b2a
mov ebp, dword [sym.imp.KERNEL32.dll_ReadFile]
lea ecx, [esp + 0x128]
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4019a0
sub ecx, edx
je 0x401b0c
cmp byte [esp + 0x128], 0x23
je 0x401b0c
cmp byte [esp + ecx + 0x127], 0xa
jne 0x4019dd
lea eax, [ecx - 1]
cmp eax, 0x104
jae 0x401b74
mov byte [esp + eax + 0x128], 0
lea eax, [esp + 0x24]
sub ecx, eax
add ecx, ebx
cmp ecx, 0x104
ja 0x414448
lea ecx, [esp + 0x128]
mov edx, ebx
mov eax, ecx
sub edx, eax
mov edi, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x401a00
mov bl, byte [0x41e308]
lea eax, [esp + 0x22c]
push 0x104
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x30]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test bl, bl
je 0x401ace
push 0
push 0x8000000
push 3
push 0
push 1
push 0x80000000
lea eax, [esp + 0x244]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x401aca
push 1
lea eax, [esp + 0x20]
push eax
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x401ac3
xor esi, esi
jmp 0x401a80
push 0
lea eax, [esp + 0x1c]
push eax
push 0x10000
lea eax, [esp + 0x440]
push eax
push edi
call ebp
test eax, eax
je 0x401ab0
cmp dword [esp + 0x18], 0x10000
jne 0x401ab0
add esi, 0x10000
cmp esi, 0xffffffff
jb 0x401a80
push 0
push 0
push dword [esp + 0x28]
push dword [esp + 0x28]
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esp + 0x14]
push 8
push 0
lea eax, [esp + 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
test esi, esi
je 0x401b79
push 8
call fcn.0040336b
mov ebx, dword [esp + 0x14]
add esp, 4
test eax, eax
je 0x401b0c
mov ecx, dword [0x41e30c]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [0x41e30c], eax
push edi
lea eax, [esp + 0x12c]
push 0x104
push eax
call fcn.00402f0a
add esp, 0xc
test eax, eax
jne 0x401994
mov eax, dword [0x41e30c]
push str.NS_GetFrozenFunctions
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x401b79
push edi
call fcn.004032ce
add esp, 4
mov eax, esi
pop ebp
mov ecx, dword [esp + 0x10430]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00402545
add esp, 0x10428
ret
xor eax, eax
jmp 0x401b4e
lea edi, [esp + 0x20]
dec edi
jmp 0x414432
call fcn.00403186
call fcn.00414b40
jmp 0x414448
mov eax, dword [str.dependentlibs.list]
lea ebx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [0x419db4]
mov dword [esp + 0x24], eax
mov eax, dword [0x419db8]
mov dword [esp + 0x28], eax
mov eax, dword [0x419dbc]
mov dword [esp + 0x2c], eax
mov ax, word [0x419dc0]
mov word [esp + 0x30], ax
mov al, byte [0x419dc2]
mov byte [esp + 0x32], al
jmp 0x40193c
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x414432
mov esi, str..gtest
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x401955
push edi
call fcn.004032ce
add esp, 4
xor eax, eax
jmp 0x401b4d