Function at 0x100306c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100efe1b
mov eax, dword fs:[0]
push eax
mov eax, 0x24a0
call fcn.100ed2a0
mov eax, dword [0x1011b040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2468], 0
mov dword [ebp - 0x2430], 0
mov eax, dword [ebp - 0x2430]
mov dword [ebp - 0x2434], eax
mov ecx, dword [ebp - 0x2434]
mov dword [ebp - 0x2438], ecx
mov edx, dword [ebp - 0x2438]
mov dword [ebp - 0x243c], edx
mov eax, dword [ebp - 0x243c]
mov dword [ebp - 0x2440], eax
mov ecx, dword [ebp - 0x2440]
mov dword [ebp - 0x2444], ecx
mov dword [ebp - 0x242c], 0
mov dword [ebp - 0x2428], 0
mov dword [ebp - 0x2424], 0
push 0x410
push 0
lea edx, [ebp - 0x420]
push edx
call sub.MSVCR120.dll_memset
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2474], eax
mov ecx, dword [ebp - 0x2474]
mov dword [ebp - 0x2484], ecx
mov edx, dword [ebp - 0x2474]
mov al, byte [edx]
mov byte [ebp - 0x245e], al
add dword [ebp - 0x2474], 1
cmp byte [ebp - 0x245e], 0
jne 0x1003078a
mov ecx, dword [ebp - 0x2474]
sub ecx, dword [ebp - 0x2484]
mov edx, dword [ebp - 0x2484]
mov dword [ebp - 0x2488], edx
mov dword [ebp - 0x2494], ecx
lea eax, [ebp - 0x420]
add eax, 0xffffffff
mov dword [ebp - 0x247c], eax
mov ecx, dword [ebp - 0x247c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x2460], dl
add dword [ebp - 0x247c], 1
cmp byte [ebp - 0x2460], 0
jne 0x100307d5
mov edi, dword [ebp - 0x247c]
mov esi, dword [ebp - 0x2488]
mov eax, dword [ebp - 0x2494]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x1003085a
lea edx, [ebp - 0x420]
add edx, 0xffffffff
mov dword [ebp - 0x2478], edx
mov eax, dword [ebp - 0x2478]
mov cl, byte [eax + 1]
mov byte [ebp - 0x245f], cl
add dword [ebp - 0x2478], 1
cmp byte [ebp - 0x245f], 0
jne 0x1003082b
mov edi, dword [ebp - 0x2478]
mov dx, word [0x100f8e18]
mov word [edi], dx
lea eax, [ebp - 0x420]
mov dword [ebp - 0x2470], eax
mov ecx, dword [ebp - 0x2470]
add ecx, 1
mov dword [ebp - 0x249c], ecx
mov edx, dword [ebp - 0x2470]
mov al, byte [edx]
mov byte [ebp - 0x2461], al
add dword [ebp - 0x2470], 1
cmp byte [ebp - 0x2461], 0
jne 0x10030875
mov ecx, dword [ebp - 0x2470]
sub ecx, dword [ebp - 0x249c]
mov dword [ebp - 0x24a4], ecx
mov edx, dword [ebp - 0x24a4]
movsx eax, byte [ebp + edx - 0x421]
cmp eax, 0x2f
je 0x10030916
lea ecx, [ebp - 0x420]
mov dword [ebp - 0x246c], ecx
mov edx, dword [ebp - 0x246c]
add edx, 1
mov dword [ebp - 0x2490], edx
mov eax, dword [ebp - 0x246c]
mov cl, byte [eax]
mov byte [ebp - 0x245d], cl
add dword [ebp - 0x246c], 1
cmp byte [ebp - 0x245d], 0
jne 0x100308d3
mov edx, dword [ebp - 0x246c]
sub edx, dword [ebp - 0x2490]
mov dword [ebp - 0x248c], edx
mov eax, dword [ebp - 0x248c]
movsx ecx, byte [ebp + eax - 0x421]
cmp ecx, 0x5c
jne 0x1003091a
mov byte [ebp + 0x14], 1
lea edx, [ebp - 0x242c]
push edx
lea eax, [ebp - 0x2444]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x24ac], esp
mov edx, dword [ebp + 0x10]
push edx
call fcn.10014010
mov dword [ebp - 0x24a8], eax
lea eax, [ebp - 0x245c]
push eax
call sym.COMMON.dll_public:_static_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_CCodeOperation::UnicodeToGB2312_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___
add esp, 0x1c
mov dword [ebp - 0x24a0], eax
mov ecx, dword [ebp - 0x24a0]
mov dword [ebp - 0x2498], ecx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x2498]
call fcn.1000d8c0
push eax
call sym.COMMON.dll_private:_static_unsigned_long_int___cdecl_NDZlib::filetime_char_const___struct_tm_zip_s___unsigned_long_int__
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x245c]
call fcn.1000a070
push 0xffffffffffffffff
push 8
push 0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x2444]
push edx
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1005c030
add esp, 0x28
movzx edx, byte [ebp + 0x14]
test edx, edx
jne 0x10030a7c
push 0x100f8e1c
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.MSVCR120.dll__wfopen]
add esp, 8
mov dword [ebp - 0x2468], eax
cmp dword [ebp - 0x2468], 0
jne 0x100309f8
mov ecx, dword [ebp + 8]
push ecx
call fcn.1005caf0
add esp, 4
xor al, al
jmp 0x10030a8a
mov dword [ebp - 0x2480], 0
mov edx, dword [ebp - 0x2468]
push edx
call dword [sym.imp.MSVCR120.dll_feof]
add esp, 4
test eax, eax
jne 0x10030a6c
mov eax, dword [ebp - 0x2468]
push eax
push 0x2000
push 1
lea ecx, [ebp - 0x2420]
push ecx
call dword [sym.imp.MSVCR120.dll_fread]
add esp, 0x10
mov dword [ebp - 0x2480], eax
mov edx, dword [ebp - 0x2480]
push edx
lea eax, [ebp - 0x2420]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1005c1c0
add esp, 0xc
mov edx, dword [ebp - 0x2468]
push edx
call dword [sym.imp.MSVCR120.dll_ferror]
add esp, 4
test eax, eax
je 0x10030a6a
jmp 0x10030a6c
jmp 0x10030a02
mov eax, dword [ebp - 0x2468]
push eax
call dword [sym.imp.MSVCR120.dll_fclose]
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.1005caf0
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100ec36e
mov esp, ebp
pop ebp
ret