Function at 0x452ae0
Capabilities:
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcb0
mov eax, dword [0x541a34]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0xbf8], ecx
call fcn.004537b0
mov dword [ebp - 0xc1c], eax
mov ecx, dword [ebp - 0xbf8]
call fcn.00452310
mov dword [ebp - 0xc18], 0
mov eax, dword [ebp - 0xc18]
mov dword [ebp - 0xc20], eax
mov dword [ebp - 0xae0], 0
push 0x2c8
push 0
lea ecx, [ebp - 0xadc]
push ecx
call fcn.004d6720
add esp, 0xc
cmp dword [ebp + 0xc], 0
jne 0x452bf7
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetThreadId]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x452ba5
push 0x2cc
push 0
lea eax, [ebp - 0xae0]
push eax
call fcn.004d6720
add esp, 0xc
mov dword [ebp - 0xae0], 0x10007
call 0x452b8c
pop eax
mov dword [ebp - 0xa28], eax
mov dword [ebp - 0xa2c], ebp
mov dword [ebp - 0xa1c], esp
xor ecx, ecx
jne 0x452b67
jmp 0x452bf5
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push 0x2cc
push 0
lea eax, [ebp - 0xae0]
push eax
call fcn.004d6720
add esp, 0xc
mov dword [ebp - 0xae0], 0x10007
lea ecx, [ebp - 0xae0]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
jne 0x452bf5
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
xor eax, eax
jmp 0x4534e1
jmp 0x452c07
mov ecx, 0xb3
mov esi, dword [ebp + 0xc]
lea edi, [ebp - 0xae0]
rep movsd dword es:[edi], dword [esi]
xorps xmm0, xmm0
movlpd qword [ebp - 0xbe8], xmm0
push 0x100
push 0
lea ecx, [ebp - 0xbe0]
push ecx
call fcn.004d6720
add esp, 0xc
mov dword [ebp - 0xc98], 0x14c
mov edx, dword [ebp - 0xa28]
xor eax, eax
mov dword [ebp - 0xbe8], edx
mov dword [ebp - 0xbe4], eax
mov dword [ebp - 0xbdc], 3
mov ecx, dword [ebp - 0xa2c]
xor edx, edx
mov dword [ebp - 0xbc8], ecx
mov dword [ebp - 0xbc4], edx
mov dword [ebp - 0xbbc], 3
mov eax, dword [ebp - 0xa1c]
xor ecx, ecx
mov dword [ebp - 0xbb8], eax
mov dword [ebp - 0xbb4], ecx
mov dword [ebp - 0xbac], 3
xorps xmm0, xmm0
movlpd qword [ebp - 0xca8], xmm0
push 0x420
call fcn.004d2a2a
add esp, 4
mov dword [ebp - 0xc74], eax
mov edx, dword [ebp - 0xc74]
mov dword [ebp - 0xbfc], edx
push 0x18
call fcn.004d21b2
add esp, 4
mov dword [ebp - 0xc94], eax
mov eax, dword [ebp - 0xc94]
mov dword [ebp - 0xc04], eax
push 0
mov ecx, dword [sym.imp.dbghelp.dll_SymGetModuleBase64]
push ecx
mov edx, dword [sym.imp.dbghelp.dll_SymFunctionTableAccess64]
push edx
push 0
lea eax, [ebp - 0xae0]
push eax
lea ecx, [ebp - 0xbe8]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0xbf8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xc98]
push edx
call dword [sym.imp.dbghelp.dll_StackWalk64]
test eax, eax
je 0x4534a3
push 0x420
push 0
mov eax, dword [ebp - 0xbfc]
push eax
call fcn.004d6720
add esp, 0xc
xor ecx, ecx
mov edx, dword [ebp - 0xc04]
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0xbfc]
mov dword [eax], 0x20
mov ecx, dword [ebp - 0xbfc]
mov dword [ecx + 0x18], 0x400
mov edx, dword [ebp - 0xc04]
mov dword [edx], 0x18
push 0x1420
call fcn.004d21b2
add esp, 4
mov dword [ebp - 0xc9c], eax
mov eax, dword [ebp - 0xc9c]
mov dword [ebp - 0xbf4], eax
push 0x1420
push 0
mov ecx, dword [ebp - 0xbf4]
push ecx
call fcn.004d6720
add esp, 0xc
mov edx, dword [ebp - 0xbf4]
mov eax, dword [ebp - 0xbe8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xbe4]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xbe8]
or edx, dword [ebp - 0xbe4]
je 0x45349e
mov eax, dword [ebp - 0xbfc]
push eax
lea ecx, [ebp - 0xca8]
push ecx
mov edx, dword [ebp - 0xbe4]
push edx
mov eax, dword [ebp - 0xbe8]
push eax
mov ecx, dword [ebp - 0xbf8]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.dbghelp.dll_SymGetSymFromAddr64]
test eax, eax
je 0x45315e
mov al, byte [0x504c7e]
mov byte [ebp - 0x814], al
push 0x3ff
push 0
lea ecx, [ebp - 0x813]
push ecx
call fcn.004d6720
add esp, 0xc
mov edx, dword [ebp - 0xbfc]
add edx, 0x1c
mov dword [ebp - 0xbf0], edx
jne 0x452e3c
mov dword [ebp - 0xc28], 0
jmp 0x452ef4
mov eax, dword [ebp - 0xbf0]
mov dword [ebp - 0xc08], eax
mov ecx, dword [ebp - 0xc08]
add ecx, 1
mov dword [ebp - 0xca0], ecx
mov edx, dword [ebp - 0xc08]
mov al, byte [edx]
mov byte [ebp - 0xc00], al
add dword [ebp - 0xc08], 1
cmp byte [ebp - 0xc00], 0
jne 0x452e57
mov ecx, dword [ebp - 0xc08]
sub ecx, dword [ebp - 0xca0]
mov dword [ebp - 0xc44], ecx
mov edx, dword [ebp - 0xc44]
add edx, 1
mov dword [ebp - 0xbec], edx
cmp dword [ebp - 0xbec], 0x3fffffff
jle 0x452eae
mov dword [ebp - 0xc24], 0
jmp 0x452ee8
mov eax, dword [ebp - 0xbec]
shl eax, 1
call fcn.004d2f30
mov dword [ebp - 0xc48], esp
mov eax, dword [ebp - 0xc1c]
push eax
mov ecx, dword [ebp - 0xbec]
push ecx
mov edx, dword [ebp - 0xbf0]
push edx
mov eax, dword [ebp - 0xc48]
push eax
call fcn.004517a0
mov dword [ebp - 0xc24], eax
mov ecx, dword [ebp - 0xc24]
mov dword [ebp - 0xc28], ecx
mov edx, dword [ebp - 0xc28]
push edx
push 0x400
mov eax, dword [ebp - 0xbf4]
add eax, 0x210
push eax
call fcn.00453560
push 0
push 0x400
lea ecx, [ebp - 0x814]
push ecx
mov edx, dword [ebp - 0xbfc]
add edx, 0x1c
push edx
call dword [sym.imp.dbghelp.dll_UnDecorateSymbolName]
lea eax, [ebp - 0x814]
mov dword [ebp - 0xbf0], eax
cmp dword [ebp - 0xbf0], 0
jne 0x452f53
mov dword [ebp - 0xc30], 0
jmp 0x45300b
mov ecx, dword [ebp - 0xbf0]
mov dword [ebp - 0xc0c], ecx
mov edx, dword [ebp - 0xc0c]
add edx, 1
mov dword [ebp - 0xc4c], edx
mov eax, dword [ebp - 0xc0c]
mov cl, byte [eax]
mov byte [ebp - 0xbfd], cl
add dword [ebp - 0xc0c], 1
cmp byte [ebp - 0xbfd], 0
jne 0x452f6e
mov edx, dword [ebp - 0xc0c]
sub edx, dword [ebp - 0xc4c]
mov dword [ebp - 0xc50], edx
mov eax, dword [ebp - 0xc50]
add eax, 1
mov dword [ebp - 0xbec], eax
cmp dword [ebp - 0xbec], 0x3fffffff
jle 0x452fc5
mov dword [ebp - 0xc2c], 0
jmp 0x452fff
mov eax, dword [ebp - 0xbec]
shl eax, 1
call fcn.004d2f30
mov dword [ebp - 0xc54], esp
mov ecx, dword [ebp - 0xc1c]
push ecx
mov edx, dword [ebp - 0xbec]
push edx
mov eax, dword [ebp - 0xbf0]
push eax
mov ecx, dword [ebp - 0xc54]
push ecx
call fcn.004517a0
mov dword [ebp - 0xc2c], eax
mov edx, dword [ebp - 0xc2c]
mov dword [ebp - 0xc30], edx
mov eax, dword [ebp - 0xc30]
push eax
push 0x400
mov ecx, dword [ebp - 0xbf4]
add ecx, 0xc1c
push ecx
call fcn.00453560
push 0x400
push 0
lea edx, [ebp - 0x814]
push edx
call fcn.004d6720
add esp, 0xc
push 0x1000
push 0x400
lea eax, [ebp - 0x814]
push eax
mov ecx, dword [ebp - 0xbfc]
add ecx, 0x1c
push ecx
call dword [sym.imp.dbghelp.dll_UnDecorateSymbolName]
lea edx, [ebp - 0x814]
mov dword [ebp - 0xbf0], edx
cmp dword [ebp - 0xbf0], 0
jne 0x453084
mov dword [ebp - 0xc38], 0
jmp 0x45313c
mov eax, dword [ebp - 0xbf0]
mov dword [ebp - 0xc10], eax
mov ecx, dword [ebp - 0xc10]
add ecx, 1
mov dword [ebp - 0xc58], ecx
mov edx, dword [ebp - 0xc10]
mov al, byte [edx]
mov byte [ebp - 0xbfe], al
add dword [ebp - 0xc10], 1
cmp byte [ebp - 0xbfe], 0
jne 0x45309f
mov ecx, dword [ebp - 0xc10]
sub ecx, dword [ebp - 0xc58]
mov dword [ebp - 0xc5c], ecx
mov edx, dword [ebp - 0xc5c]
add edx, 1
mov dword [ebp - 0xbec], edx
cmp dword [ebp - 0xbec], 0x3fffffff
jle 0x4530f6
mov dword [ebp - 0xc34], 0
jmp 0x453130
mov eax, dword [ebp - 0xbec]
shl eax, 1
call fcn.004d2f30
mov dword [ebp - 0xc60], esp
mov eax, dword [ebp - 0xc1c]
push eax
mov ecx, dword [ebp - 0xbec]
push ecx
mov edx, dword [ebp - 0xbf0]
push edx
mov eax, dword [ebp - 0xc60]
push eax
call fcn.004517a0
mov dword [ebp - 0xc34], eax
mov ecx, dword [ebp - 0xc34]
mov dword [ebp - 0xc38], ecx
mov edx, dword [ebp - 0xc38]
push edx
push 0x400
mov eax, dword [ebp - 0xbf4]
add eax, 0x41c
push eax
call fcn.00453560
jmp 0x453214
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xc64], eax
xor ecx, ecx
mov word [ebp - 0x20c], cx
push 0x206
push 0
lea edx, [ebp - 0x20a]
push edx
call fcn.004d6720
add esp, 0xc
push 0x208
push 0
lea eax, [ebp - 0x20c]
push eax
call fcn.004d6720
add esp, 0xc
lea ecx, [ebp - 0xc68]
push ecx
lea edx, [ebp - 0xc6c]
push edx
push 0x208
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0xbe8]
push ecx
mov ecx, dword [ebp - 0xbf8]
call fcn.0044f2e0
mov dword [ebp - 0xcb0], eax
mov edx, dword [ebp - 0xc64]
push edx
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0xc68]
push ecx
mov edx, dword [ebp - 0xc6c]
push edx
mov eax, dword [ebp - 0xbe8]
push eax
push 0x504ef8
mov ecx, dword [ebp - 0xbf8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xbf8]
push eax
mov ecx, dword [edx]
call ecx
add esp, 0x1c
jmp 0x452cd2
mov edx, dword [ebp - 0xc04]
push edx
lea eax, [ebp - 0xca8]
push eax
mov ecx, dword [ebp - 0xbe4]
push ecx
mov edx, dword [ebp - 0xbe8]
push edx
mov eax, dword [ebp - 0xbf8]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.dbghelp.dll_SymGetLineFromAddr64]
test eax, eax
je 0x45335c
mov edx, dword [ebp - 0xc04]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xbf0], eax
cmp dword [ebp - 0xbf0], 0
jne 0x45326f
mov dword [ebp - 0xc40], 0
jmp 0x453327
mov ecx, dword [ebp - 0xbf0]
mov dword [ebp - 0xc14], ecx
mov edx, dword [ebp - 0xc14]
add edx, 1
mov dword [ebp - 0xc70], edx
mov eax, dword [ebp - 0xc14]
mov cl, byte [eax]
mov byte [ebp - 0xbff], cl
add dword [ebp - 0xc14], 1
cmp byte [ebp - 0xbff], 0
jne 0x45328a
mov edx, dword [ebp - 0xc14]
sub edx, dword [ebp - 0xc70]
mov dword [ebp - 0xc90], edx
mov eax, dword [ebp - 0xc90]
add eax, 1
mov dword [ebp - 0xbec], eax
cmp dword [ebp - 0xbec], 0x3fffffff
jle 0x4532e1
mov dword [ebp - 0xc3c], 0
jmp 0x45331b
mov eax, dword [ebp - 0xbec]
shl eax, 1
call fcn.004d2f30
mov dword [ebp - 0xc78], esp
mov ecx, dword [ebp - 0xc1c]
push ecx
mov edx, dword [ebp - 0xbec]
push edx
mov eax, dword [ebp - 0xbf0]
push eax
mov ecx, dword [ebp - 0xc78]
push ecx
call fcn.004517a0
mov dword [ebp - 0xc3c], eax
mov edx, dword [ebp - 0xc3c]
mov dword [ebp - 0xc40], edx
mov eax, dword [ebp - 0xc40]
push eax
push 0x104
mov ecx, dword [ebp - 0xbf4]
add ecx, 8
push ecx
call fcn.00453560
mov edx, dword [ebp - 0xbf4]
mov eax, dword [ebp - 0xc04]
mov ecx, dword [eax + 8]
mov dword [edx + 0x418], ecx
jmp 0x453412
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xc7c], eax
xor edx, edx
mov word [ebp - 0x414], dx
push 0x206
push 0
lea eax, [ebp - 0x412]
push eax
call fcn.004d6720
add esp, 0xc
push 0x208
push 0
lea ecx, [ebp - 0x414]
push ecx
call fcn.004d6720
add esp, 0xc
lea edx, [ebp - 0xc80]
push edx
lea eax, [ebp - 0xc84]
push eax
push 0x208
lea ecx, [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0xbe8]
push edx
mov ecx, dword [ebp - 0xbf8]
call fcn.0044f2e0
mov dword [ebp - 0xcac], eax
mov eax, dword [ebp - 0xc7c]
push eax
lea ecx, [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0xc80]
push edx
mov eax, dword [ebp - 0xc84]
push eax
mov ecx, dword [ebp - 0xbe8]
push ecx
push str._Call_SymGetLineFromAddr64_address:___08X__02X:_08X__s_error:_08x_r_n
mov edx, dword [ebp - 0xbf8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xbf8]
push ecx
mov edx, dword [eax]
call edx
add esp, 0x1c
jmp 0x452cd2
mov eax, dword [ebp - 0xbf4]
mov ecx, dword [eax + 0x418]
push ecx
mov edx, dword [ebp - 0xbf4]
add edx, 8
push edx
mov eax, dword [ebp - 0xbf4]
add eax, 0xc1c
push eax
mov ecx, dword [ebp - 0xbf4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
push str._08llx:_s___s___ld__r_n
mov ecx, dword [ebp - 0xbf8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xbf8]
push eax
mov ecx, dword [edx]
call ecx
add esp, 0x1c
cmp dword [ebp - 0xc18], 0
jne 0x453480
mov edx, dword [ebp - 0xbf4]
mov dword [ebp - 0xc18], edx
mov eax, dword [ebp - 0xc18]
mov dword [ebp - 0xc20], eax
jmp 0x45349e
mov ecx, dword [ebp - 0xc20]
mov edx, dword [ebp - 0xbf4]
mov dword [ecx + 0x141c], edx
mov eax, dword [ebp - 0xbf4]
mov dword [ebp - 0xc20], eax
jmp 0x452cd2
mov ecx, dword [ebp - 0xbfc]
mov dword [ebp - 0xc88], ecx
mov edx, dword [ebp - 0xc88]
push edx
call fcn.004d21f3
add esp, 4
mov eax, dword [ebp - 0xc04]
mov dword [ebp - 0xc8c], eax
push 0x18
mov ecx, dword [ebp - 0xc8c]
push ecx
call fcn.004d21e5
add esp, 8
mov eax, dword [ebp - 0xc18]
lea esp, [ebp - 0xcb8]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d219c
mov esp, ebp
pop ebp
ret 8