Function at 0x6d6985da
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x24
cmp dword [0x6d7b56e4], 0
push ebx
jne 0x6d6988b2
mov ebx, dword [0x6d7b56e0]
mov dword [0x6d7b56e4], 1
test ebx, ebx
je 0x6d6988b2
push ebp
push esi
mov esi, dword [esp + 0x34]
push edi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
mov eax, dword [ebx + 0x70]
push 0
push eax
mov dword [esp + 0x28], eax
call dword [sym.imp.MSVCRT.dll__open]
pop ecx
mov dword [esp + 0x18], eax
pop ecx
or ecx, 0xffffffff
cmp eax, ecx
je 0x6d6988a1
mov edx, str._compilation_log_thread
xor eax, eax
mov edi, edx
mov ebp, dword [esi]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
mov ecx, esi
call dword [ebp + 4]
push dword [ebx + 0x80]
mov ebp, dword [esp + 0x40]
push str._UINTX_FORMAT
push dword [esp + 0x48]
push ebp
call sym.jvm.dll_jio_snprintf
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
mov edx, dword [esi]
not ecx
dec ecx
push ecx
push ebp
mov ecx, esi
call dword [edx + 4]
mov edi, 0x6d78d760
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esi]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6d78d760
mov ecx, esi
call dword [edx + 4]
mov ecx, esi
call fcn.6d71febc
mov edi, dword [ebx + 0x7c]
mov ecx, dword [ebx + 0x78]
test edi, edi
mov dword [esp + 0x24], ecx
ja 0x6d6986ae
test ecx, ecx
jbe 0x6d698703
mov eax, dword [esp + 0x40]
cdq
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
jmp 0x6d6986c1
mov ecx, dword [esp + 0x24]
cmp edi, dword [esp + 0x30]
ja 0x6d6986cf
jb 0x6d6986d3
cmp ecx, dword [esp + 0x2c]
jb 0x6d6986d3
mov ecx, dword [esp + 0x40]
push ecx
push ebp
push dword [esp + 0x1c]
call dword [sym.imp.MSVCRT.dll__read]
add esp, 0xc
test eax, eax
jbe 0x6d698703
sub dword [esp + 0x24], eax
mov edx, dword [esi]
push eax
push ebp
mov ecx, esi
sbb edi, 0
call dword [edx + 4]
test edi, edi
ja 0x6d6986bd
jb 0x6d698703
cmp dword [esp + 0x24], 0
ja 0x6d6986bd
push dword [esp + 0x40]
and dword [esp + 0x1c], 0
and dword [esp + 0x3c], 0
push ebp
push dword [esp + 0x1c]
call dword [sym.imp.MSVCRT.dll__read]
mov ebp, eax
add esp, 0xc
test ebp, ebp
jbe 0x6d69886a
cmp dword [esp + 0x18], 0
jne 0x6d69877e
mov edi, str._fragment_
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esi]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str._fragment_
mov ecx, esi
call dword [edx + 4]
mov ecx, esi
call fcn.6d71febc
mov edi, str.___CDATA_
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esi]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.___CDATA_
mov ecx, esi
call dword [edx + 4]
mov ecx, esi
call fcn.6d71febc
mov dword [esp + 0x18], 1
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
test ebp, ebp
jbe 0x6d698802
xor edi, edi
test ebp, ebp
mov dword [esp + 0x1c], edi
jbe 0x6d6987c5
mov eax, dword [esp + 0x10]
mov al, byte [edi + eax]
cmp al, 0x3e
je 0x6d6987b0
cmp al, 0x5d
jne 0x6d6987b7
cmp dword [esp + 0x38], 2
jge 0x6d6987bc
inc dword [esp + 0x38]
jmp 0x6d6987bc
cmp dword [esp + 0x38], 2
je 0x6d6987c5
and dword [esp + 0x38], 0
inc edi
cmp edi, ebp
mov dword [esp + 0x1c], edi
jb 0x6d698794
mov eax, dword [esi]
push edi
push dword [esp + 0x14]
mov ecx, esi
call dword [eax + 4]
cmp edi, ebp
jae 0x6d6987fa
mov edi, str.______CDATA_
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esi]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.______CDATA_
mov ecx, esi
call dword [edx + 4]
and dword [esp + 0x38], 0
mov edi, dword [esp + 0x1c]
sub ebp, edi
add dword [esp + 0x10], edi
jmp 0x6d698786
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x1c]
call dword [sym.imp.MSVCRT.dll__read]
mov ebp, eax
add esp, 0xc
test ebp, ebp
ja 0x6d698729
cmp dword [esp + 0x18], 0
je 0x6d69886a
mov edx, 0x6d78d734
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov ebp, dword [esi]
not ecx
dec ecx
push ecx
push edx
mov ecx, esi
call dword [ebp + 4]
mov ecx, esi
call fcn.6d71febc
mov edx, str.__fragment_
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov ebp, dword [esi]
not ecx
dec ecx
push ecx
push edx
mov ecx, esi
call dword [ebp + 4]
mov ecx, esi
call fcn.6d71febc
mov edx, str.__compilation_log_
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov ebp, dword [esi]
not ecx
dec ecx
push ecx
push edx
mov ecx, esi
call dword [ebp + 4]
mov ecx, esi
call fcn.6d71febc
push dword [esp + 0x14]
call dword [sym.imp.MSVCRT.dll__close]
push dword [esp + 0x24]
call dword [sym.imp.MSVCRT.dll__unlink]
pop ecx
pop ecx
mov ebx, dword [ebx + 0x130]
test ebx, ebx
jne 0x6d69860a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret