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

Disassembly:
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
push eax
mov eax, dword [esi]
push ebx
push eax
push str.Hooking_surface_dds_x_version_d_thread_id_x_n
call fcn.10025250
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.QueryInterface_S_
push 0x10083c68
push 0x10005f10
push edx
call fcn.10025620
mov eax, dword [esi]
mov ecx, dword [eax]
push str.AddAttachedSurface_S_
push 0x100840dc
add ecx, 0xc
push 0x10005ff0
push ecx
call fcn.10025620
mov edx, dword [esi]
mov eax, dword [edx]
push str.AddOverlayDirtyRect_S_
push 0x10083aa8
add eax, 0x10
push 0x10006be0
push eax
call fcn.10025620
mov ecx, dword [esi]
mov edx, dword [ecx]
add esp, 0x40
push str.Blt_S_
push 0x100840e8
add edx, 0x14
push 0x10006040
push edx
call fcn.10025620
mov eax, dword [esi]
mov ecx, dword [eax]
push str.BltBatch_S_
push 0x10083b5c
add ecx, 0x18
push 0x10005eb0
push ecx
call fcn.10025620
mov edx, dword [esi]
mov eax, dword [edx]
push str.BltFast_S_
push 0x10083c64
add eax, 0x1c
push 0x10006110
push eax
call fcn.10025620
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.DeleteAttachedSurface_S_
push 0x100840e4
add edx, 0x20
push 0x10006a70
push edx
call fcn.10025620
mov eax, dword [esi]
mov ecx, dword [eax]
add esp, 0x40
push str.EnumAttachedSurfaces_S_
push 0x10083a78
add ecx, 0x24
push 0x100061b0
push ecx
call fcn.10025620
mov edx, dword [esi]
push str.EnumOverlayZOrders_S_
push 0x100840e0
push 0x10005cd0
mov eax, dword [edx]
add eax, 0x28
push eax
call fcn.10025620
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.Flip_S_
push 0x10083c7c
add edx, 0x2c
push 0x10006b80
push edx
call fcn.10025620
lea edi, [ebx - 1]
add esp, 0x30
cmp edi, 6
ja case.0x100077d6.5
jmp dword [edi*4 + 0x10007b84]
push str.GetAttachedSurface_S1_
push 0x10083c70
push 0x10006200
jmp 0x1000782f
mov edx, dword [esi]
mov eax, dword [edx]
push str.GetAttachedSurface_S3_
push 0x10083ac8
push 0x10006270
add eax, 0x30
push eax
jmp 0x10007837
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.GetAttachedSurface_S4_
push 0x10083b94
push 0x100062e0
add edx, 0x30
push edx
jmp 0x10007837
push str.GetAttachedSurface_S7_
push 0x10083bdc
push 0x10006350
mov eax, dword [esi]
mov ecx, dword [eax]
add ecx, 0x30
push ecx
call fcn.10025620
add esp, 0x10
mov edx, dword [esi]
mov eax, dword [edx]
push str.GetBltStatus_S_
push 0x10083b90
add eax, 0x34
push 0x10005d20
push eax
call fcn.10025620
add esp, 0x10
cmp edi, 6
ja case.0x10007867.4
jmp dword [edi*4 + 0x10007ba0]
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.GetCaps_S1_
push 0x10083b68
push 0x100063c0
add edx, 0x38
push edx
jmp 0x100078e1
push str.GetCaps_S2_
push 0x10083a8c
push 0x10006430
jmp 0x100078d9
mov edx, dword [esi]
mov eax, dword [edx]
push str.GetCaps_S3_
push 0x10083b88
push 0x100064a0
add eax, 0x38
push eax
jmp 0x100078e1
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.GetCaps_S4_
push 0x10083c5c
push 0x10006510
add edx, 0x38
push edx
jmp 0x100078e1
push str.GetCaps_S7_
push 0x10083aa0
push 0x10006580
mov eax, dword [esi]
mov ecx, dword [eax]
add ecx, 0x38
push ecx
call fcn.10025620
add esp, 0x10
mov edx, dword [esi]
mov eax, dword [edx]
push str.GetClipper_S_
push 0x10083c9c
add eax, 0x3c
push 0x10005d70
push eax
call fcn.10025620
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.GetColorKey_S_
push 0x10083bac
add edx, 0x40
push 0x100065f0
push edx
call fcn.10025620
mov eax, dword [esi]
mov ecx, dword [eax]
push str.GetDC_S_
push 0x10083c94
add ecx, 0x44
push 0x100069c0
push ecx
call fcn.10025620
mov edx, dword [esi]
mov eax, dword [edx]
push str.GetFlipStatus_S_
push 0x10083ab4
add eax, 0x48
push 0x10005dd0
push eax
call fcn.10025620
mov ecx, dword [esi]
mov edx, dword [ecx]
add esp, 0x40
push str.GetOverlayPosition_S_
push 0x10083c74
add edx, 0x4c
push 0x10005e40
push edx
call fcn.10025620
mov eax, dword [esi]
mov ecx, dword [eax]
push str.GetPalette_S_
push 0x10083b98
add ecx, 0x50
push 0x10006660
push ecx
call fcn.10025620
mov edx, dword [esi]
mov eax, dword [edx]
push str.GetPixelFormat_S_
push 0x10083ca0
add eax, 0x54
push 0x100066a0
push eax
call fcn.10025620
add esp, 0x30
cmp edi, 6
ja case.0x100079bf.4
movzx ecx, byte [edi + 0x10007bc8]
jmp dword [ecx*4 + 0x10007bbc]
mov edx, dword [esi]
mov eax, dword [edx]
push str.pGetSurfaceDesc_S1_
push 0x10083bcc
push 0x10006da0
add eax, 0x58
push eax
jmp 0x100079f6
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.pGetSurfaceDesc_S4_
push 0x10083b70
push 0x10006e00
add edx, 0x58
push edx
call fcn.10025620
add esp, 0x10
mov eax, dword [esi]
mov ecx, dword [eax]
push str.IsLost_S_
push 0x100840ec
add ecx, 0x60
push 0x10006ac0
push ecx
call fcn.10025620
mov edx, dword [esi]
mov eax, dword [edx]
push str.Lock_S_
push 0x10083abc
add eax, 0x64
push 0x10006840
push eax
call fcn.10025620
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.ReleaseDC_S_
push 0x10083b48
add edx, 0x68
push 0x10006a20
push edx
call fcn.10025620
mov eax, dword [esi]
mov ecx, dword [eax]
push str.Restore_S_
push 0x10083b3c
add ecx, 0x6c
push 0x10006af0
push ecx
call fcn.10025620
mov edx, dword [esi]
mov eax, dword [edx]
add esp, 0x40
push str.SetClipper_S_
push 0x10083bb0
add eax, 0x70
push 0x10006720
push eax
call fcn.10025620
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.SetColorKey_S_
push 0x10083a98
add edx, 0x74
push 0x10006770
push edx
call fcn.10025620
mov eax, dword [esi]
mov ecx, dword [eax]
push str.SetOverlayPosition_S_
push 0x10083b7c
add ecx, 0x78
push 0x10005c80
push ecx
call fcn.10025620
mov edx, dword [esi]
mov eax, dword [edx]
push str.SetPalette_S_
push 0x10083b50
add eax, 0x7c
push 0x100067f0
push eax
call fcn.10025620
add esp, 0x40
cmp ebx, 4
jl 0x10007b02
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.Unlock_S4_
push 0x10083b40
push 0x10006940
sub edx, 0xffffff80
push edx
jmp 0x10007b19
mov eax, dword [esi]
mov ecx, dword [eax]
push str.Unlock_S1_
push 0x10083b60
push 0x100068d0
sub ecx, 0xffffff80
push ecx
call fcn.10025620
mov edx, dword [esi]
mov eax, dword [edx]
add esp, 0x10
push str.UpdateOverlay_S_
push 0x10083b54
add eax, 0x84
push 0x10006c60
push eax
call fcn.10025620
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.UpdateOverlayDisplay_S_
push 0x10083aac
add edx, 0x88
push 0x10006b30
push edx
call fcn.10025620
mov eax, dword [esi]
mov ecx, dword [eax]
push str.UpdateOverlayZOrder_S_
push 0x10083b80
add ecx, 0x8c
push 0x10006d20
push ecx
call fcn.10025620
add esp, 0x30
pop edi
pop esi
pop ebx
ret