Function at 0x244da0
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x2be9d1
mov eax, dword fs:[0]
push eax
sub esp, 0x4e0
mov eax, dword [0x2da130]
xor eax, esp
mov dword [esp + 0x4d8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x2da130]
xor eax, esp
push eax
lea eax, [esp + 0x4f4]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x504]
mov ecx, 9
lea esi, [esp + 0x508]
lea edi, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x52c]
mov esi, dword [esp + 0x530]
call fcn.0028cc1d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x244e1c
push 0x80004005
call fcn.002418a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x4fc], 0
test ebp, ebp
jne 0x244e6c
lea eax, [ebx - 0x10]
mov dword [esp + 0x4fc], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x244e62
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x2453b3
test edi, edi
je 0x244e3b
push str._____Search_TimingLookup_in_DLL_____r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x400
lea ecx, [esp + 0xf0]
push 0
push ecx
call fcn.002a4930
add esp, 0xc
cmp dword [0x2e3ae4], 0
jne 0x244ed7
push str.______DllGetTiming_Function__is_null_____r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebx - 0x10]
mov dword [esp + 0x4fc], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x244ecd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0xfffffdfc
jmp 0x2453b3
push 0x400
lea ecx, [esp + 0xf0]
push 0
push ecx
call fcn.002a4930
mov ecx, dword [esp + 0x540]
mov dl, byte [esi]
mov eax, ecx
shr eax, 8
mov dword [esp + 0x2c], eax
mov byte [esp + 0xf8], al
mov al, byte [esi + 1]
mov byte [esp + 0xf9], cl
mov cl, byte [esi + 2]
add esp, 0xc
cmp byte [0x2f3b38], 1
mov byte [esp + 0xee], 0
mov byte [esp + 0xef], dl
mov byte [esp + 0xf0], al
mov byte [esp + 0xf1], cl
jne 0x244f42
mov byte [esp + 0xf3], 1
mov dl, byte [edi + 0x9a]
mov al, byte [edi + 0x9b]
mov cl, byte [esp + 0x2f]
mov ebx, dword [esp + 0x25]
mov byte [esp + 0xf4], dl
lea edx, [esp + 0xec]
push edx
movzx edx, byte [edi + 0x18c]
mov byte [esp + 0xf9], al
mov eax, dword [esp + 0x2f]
push eax
mov byte [esp + 0xfe], cl
mov ecx, dword [esp + 0x2f]
push ecx
push 7
push ebx
push edx
call dword [0x2e3ae4]
test eax, eax
je 0x244fd0
push str._____No_timing_found______r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp bl, 0x45
je 0x245102
cmp bl, 0x98
je 0x245109
cmp bl, 0x89
je 0x244fc6
cmp bl, 0x2c
jne 0x2453a5
cmp bl, 0x89
jne 0x245110
mov byte [esp + 0x18], 0x2c
jmp 0x24511a
mov ecx, 0x27
lea esi, [esp + 0xec]
lea edi, [esp + 0x4c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [esp + 0x18]
movsb byte es:[edi], byte [esi]
call fcn.00241930
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x1c]
push str.Got_timing__name_is__s_r_n
push ecx
mov byte [esp + 0x508], 1
call fcn.002414a0
mov esi, dword [esp + 0x24]
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0xc
push esi
call edi
movzx edx, byte [esp + 0xdd]
movzx eax, byte [esp + 0xde]
movzx ecx, byte [esp + 0xdf]
mov byte [ebp + 0xf4], dl
movzx edx, byte [esp + 0xe0]
mov byte [ebp + 0xf5], al
movzx eax, byte [esp + 0xe1]
mov byte [ebp + 0x105], cl
movzx ecx, byte [esp + 0xe2]
mov byte [ebp + 0x106], dl
movzx edx, byte [esp + 0xe3]
mov byte [ebp + 0x10b], al
movzx eax, byte [esp + 0xe5]
mov byte [ebp + 0x10c], cl
movzx ecx, byte [esp + 0xe6]
mov byte [ebp + 0x10d], dl
movzx edx, byte [esp + 0xe4]
mov byte [ebp + 0xbc], al
mov ax, word [esp + 0xe7]
mov byte [ebp + 0xc0], cl
mov byte [ebp + 0x10e], dl
test ax, ax
je 0x2450c8
mov byte [ebp + 0x11a], 0xee
mov word [ebp + 0x11b], ax
mov byte [ebp + 0x120], 0xec
mov al, byte [esp + 0xe9]
mov byte [ebp + 0x11d], al
lea eax, [esi - 0x10]
mov byte [esp + 0x4fc], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x2452e6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x2452e6
mov byte [esp + 0x18], 0x98
jmp 0x24511a
mov byte [esp + 0x18], 0x45
jmp 0x24511a
cmp bl, 0x2c
jne 0x24511a
mov byte [esp + 0x18], 0x89
push 0x400
lea ecx, [esp + 0xf0]
push 0
push ecx
call fcn.002a4930
movzx eax, byte [esp + 0x2c]
mov dl, byte [esp + 0x540]
mov cl, byte [esi]
mov byte [esp + 0xf8], dl
movzx edx, byte [esi + 1]
mov byte [esp + 0xf9], al
movzx eax, byte [esi + 2]
add esp, 0xc
cmp byte [0x2f3b38], 1
mov byte [esp + 0xee], 0
mov byte [esp + 0xef], cl
mov byte [esp + 0xf0], dl
mov byte [esp + 0xf1], al
jne 0x245183
mov byte [esp + 0xf3], 1
mov edx, dword [esp + 0x2b]
mov eax, dword [esp + 0x27]
lea ecx, [esp + 0xec]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
movzx edx, byte [edi + 0x18c]
push eax
push 7
push ecx
push edx
call dword [0x2e3ae4]
test eax, eax
je 0x2451cc
push str._____No_timing_found______r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [esp + 0x1c]
call fcn.00241910
mov eax, 0xfffffdfc
jmp 0x2453b3
mov ecx, 0x27
lea esi, [esp + 0xec]
lea edi, [esp + 0x4c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [esp + 0x18]
movsb byte es:[edi], byte [esi]
call fcn.00241930
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x1c]
push str.Got_timing__name_is__s_r_n
push ecx
mov byte [esp + 0x508], 2
call fcn.002414a0
mov edx, dword [esp + 0x24]
add esp, 0xc
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
movzx eax, byte [esp + 0xdd]
movzx ecx, byte [esp + 0xde]
movzx edx, byte [esp + 0xdf]
mov byte [ebp + 0xf4], al
movzx eax, byte [esp + 0xe0]
mov byte [ebp + 0x106], al
movzx eax, byte [esp + 0xe3]
mov byte [ebp + 0xf5], cl
movzx ecx, byte [esp + 0xe1]
mov byte [ebp + 0x105], dl
movzx edx, byte [esp + 0xe2]
mov byte [ebp + 0x10d], al
movzx eax, byte [esp + 0xe4]
mov byte [ebp + 0x10b], cl
movzx ecx, byte [esp + 0xe5]
mov byte [ebp + 0x10c], dl
movzx edx, byte [esp + 0xe6]
mov byte [ebp + 0x10e], al
mov ax, word [esp + 0xe7]
mov byte [ebp + 0xbc], cl
mov byte [ebp + 0xc0], dl
test ax, ax
je 0x2452c2
mov cl, 0xec
mov byte [ebp + 0x11a], cl
mov word [ebp + 0x11b], ax
mov byte [ebp + 0x120], cl
mov cl, byte [esp + 0xe9]
mov byte [ebp + 0x11d], cl
lea ecx, [esp + 0x18]
mov byte [esp + 0x4fc], 0
call fcn.00241910
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._____TimingLookup_Table_____r_n
call edi
movzx edx, byte [ebp + 0xf5]
movzx eax, byte [ebp + 0xf4]
push edx
push eax
lea ecx, [esp + 0x24]
push str.SetTiming_1__0xf4::0xf5__X:_X
push ecx
call fcn.002414a0
mov edx, dword [esp + 0x2c]
add esp, 0x10
push edx
call edi
movzx eax, byte [ebp + 0x10d]
movzx ecx, byte [ebp + 0x10c]
movzx edx, byte [ebp + 0x10b]
push eax
movzx eax, byte [ebp + 0x106]
push ecx
movzx ecx, byte [ebp + 0x105]
push edx
push eax
push ecx
lea edx, [esp + 0x30]
push str.SetTiming_2__105:106:10b:10c:10d__X:_X:_X:_X:_X_r_n
push edx
call fcn.002414a0
mov eax, dword [esp + 0x38]
add esp, 0x1c
push eax
call edi
movzx ecx, byte [ebp + 0x120]
movzx edx, byte [ebp + 0x11a]
movzx eax, byte [ebp + 0x10e]
push ecx
movzx ecx, byte [ebp + 0xc0]
push edx
movzx edx, byte [ebp + 0xbc]
push eax
push ecx
push edx
lea eax, [esp + 0x30]
push str.SetTiming_3___bc:_c0:10e:11a:120__X:_X:_X:_X:_X_r_n
push eax
call fcn.002414a0
mov ecx, dword [esp + 0x38]
add esp, 0x1c
push ecx
call edi
lea ecx, [esp + 0x1c]
call fcn.00241910
xor eax, eax
jmp 0x2453b3
lea ecx, [esp + 0x1c]
call fcn.00241910
mov eax, 0xff
mov ecx, dword [esp + 0x4f4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4d8]
xor ecx, esp
call fcn.002a105e
add esp, 0x4ec
ret