Function at 0x100324c4
Capabilities:
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x108
mov ebp, dword [0x10065658]
test ebp, ebp
je 0x10032523
mov eax, dword [0x100657c0]
test eax, eax
je 0x10032523
je 0x100324ee
mov eax, dword [ebp]
test eax, eax
je 0x10032645
mov eax, dword [0x100657b0]
test eax, eax
je 0x10032502
mov eax, dword [ebp + 4]
test eax, eax
je 0x100326a2
push dword [0x10062cec]
push 0x10055160
push dword [ebp]
call fcn.10046d47
add esp, 0xc
call fcn.10048be3
mov ebp, dword [0x10065658]
test ebp, ebp
je 0x10032543
lea eax, [esp + 0x11c]
push 4
push eax
mov ecx, ebp
push str.IDirect3DDevice9P
call fcn.1002c134
mov ebp, dword [0x10065658]
test ebp, ebp
je 0x10032563
lea eax, [esp + 0x120]
push 4
push eax
mov ecx, ebp
push str.UINT
call fcn.1002c134
mov ebp, dword [0x10065658]
test ebp, ebp
je 0x1003257d
lea eax, [esp + 0x124]
push 4
push eax
mov ecx, ebp
push str.IDirect3DSurface9P
call fcn.1002c134
mov edx, dword [esp + 0x11c]
test edx, edx
je 0x1003282c
mov eax, dword [esp + 0x124]
test eax, eax
je 0x10032825
mov ecx, dword [eax + 4]
push ecx
push dword [esp + 0x124]
mov eax, dword [edx + 8]
push dword [edx + 4]
call dword [eax + 0x84]
mov edx, dword [0x10065694]
mov dword [0x10065660], eax
lea ecx, [esp + 4]
lea eax, [edx + 1]
mov dword [0x10065694], eax
push edx
push str.fb__li
push ecx
call fcn.1004665a
add esp, 0xc
push str.3da_extra9.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
je 0x1003279e
push 0x10056ae8
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10032611
mov ecx, dword [esp + 0x124]
lea edx, [esp + 4]
push edx
push dword [ecx + 4]
call eax
add esp, 8
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [0x10065658]
test ecx, ecx
je 0x10032633
push 4
push 0x10065660
push str.HRESULT
call fcn.1002c134
mov eax, dword [0x10065660]
add esp, 0x108
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
mov dword [ebp + 0x118], 0
push 0x10063940
push str._slog_DX9.out
push 0x10065f20
call fcn.1004665a
push 0x10054e68
push 0x10065f20
call fcn.1004670e
add esp, 0x14
mov dword [ebp], eax
test eax, eax
jne 0x100324ee
push 0x10
push 0x1005456c
push str.fopen
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
push eax
push eax
call fcn.100468bc
jmp 0x100324ee
lea eax, [ebp + 0x108]
mov dword [esp], eax
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx ecx, word [ebp + 0x10e]
movzx edi, word [ebp + 0x10a]
movzx esi, word [ebp + 0x110]
movzx edx, word [ebp + 0x112]
movzx eax, word [ebp + 0x114]
lea ebx, [ebp + 8]
push eax
push edx
push esi
push edi
push ecx
push 0x10063940
push str._sPerflogDX__d__d__d._d._d.csv
push ebx
call fcn.1004665a
push 0x10054e68
push ebx
call fcn.1004670e
add esp, 0x28
mov dword [ebp + 4], eax
test eax, eax
je 0x10032722
push eax
push str.used_vram___vram_usage_of_texture__vertex_data_nfps___frames_per_second_npps___polys_per_second_nppf___polys_fer_frame_noverdraw___effective_overdraw_per_frame_nstrst___IDirect3DDevice9::SetRenderState_per_frame_nsttxstgst___IDirect3DDevice9::SetTextureStageState_per_frame_nppc___polys_per_DrawPrimitve_nsttx___IDirect3DDevice9::SetTexture_per_frame_nstvp___IDirect3DDevice9::SetViewport_per_frame_nsvs___IDirect3DDevice9::SetVertexShader_per_frame_nsss___IDirect3DDevice9::SetStreamSource_per_frame_n_n
call fcn.100468f6
push dword [ebp + 4]
push str._used_vram___fps___pps___ppf___overdraw___strst___sttxstgst___ppc___sttx___stvp___svs___sss__n_n
call fcn.100468f6
add esp, 0x10
jmp 0x10032502
mov eax, dword [esp]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx ecx, word [ebp + 0x10e]
movzx edi, word [ebp + 0x10a]
movzx esi, word [ebp + 0x110]
movzx edx, word [ebp + 0x112]
movzx eax, word [ebp + 0x114]
push eax
push edx
push esi
push edi
push ecx
push 0x10063940
push str._sPerflogDX__d__d__d._d._d.csv
push ebx
call fcn.1004665a
push 0x10054e68
push ebx
call fcn.1004670e
add esp, 0x28
mov dword [ebp + 4], eax
test eax, eax
jne 0x10032702
push 0x10
push 0x1005456c
push str.fopen
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
push eax
push eax
call fcn.100468bc
mov eax, dword [ebp + 4]
jmp 0x10032702
push str.EXTRAS9
mov esi, dword [0x100657c8]
push 0x7b
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov ebx, eax
test ebx, ebx
je 0x1003280b
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebp, eax
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
xor edx, edx
push edx
push 0x80
push 2
push edx
push edx
push 0x40000000
push str.3da_extra9.dll
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
lea edx, [esp + 0x104]
push 0
push edx
push ebp
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.3da_extra9.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
jne 0x100325ed
jmp 0x10032618
xor ecx, ecx
jmp 0x1003259e
xor eax, eax
add esp, 0x108
pop ebx
pop ebp
pop esi
pop edi
ret 0xc