Function at 0x40e4a0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43b72d
mov eax, dword fs:[0]
push eax
sub esp, 0x508
mov eax, dword [0x4b249c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4e4], ecx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 4]
mov edx, dword [0x4b5688]
lea eax, [ecx + edx*2]
push eax
push 0x43e34c
push str._s_s
push 0xff
lea ecx, [ebp - 0x214]
push ecx
call fcn.0042934a
add esp, 0x14
cmp dword [0x4b3ed4], 0
jne 0x40e70b
xor edx, edx
mov word [ebp - 0x434], dx
push 0x1fe
push 0
lea eax, [ebp - 0x432]
push eax
call fcn.00426300
add esp, 0xc
call fcn.0040f3d0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push 0x43e320
push 0x100
lea ecx, [ebp - 0x434]
push ecx
call fcn.0042934a
add esp, 0x14
push 0x43e31c
push str._Module_Unloading___
push 0x43e2e8
lea edx, [ebp - 0x214]
push edx
push 0x43e290
lea ecx, [ebp - 0x454]
call fcn.00405190
mov dword [ebp - 0x4e8], eax
mov eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x4ec]
push ecx
lea edx, [ebp - 0x434]
push edx
lea ecx, [ebp - 0x470]
call fcn.00405190
mov dword [ebp - 0x4f0], eax
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4f4]
push ecx
lea edx, [ebp - 0x48c]
push edx
call fcn.00418270
add esp, 0xc
mov dword [ebp - 0x4f8], eax
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 0x4fc], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x4fc]
push ecx
lea edx, [ebp - 0x4a8]
push edx
call fcn.00418300
add esp, 0xc
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x504], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x504]
push ecx
lea edx, [ebp - 0x4c4]
push edx
call fcn.00418300
add esp, 0xc
mov dword [ebp - 0x508], eax
mov eax, dword [ebp - 0x508]
mov dword [ebp - 0x50c], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x50c]
push ecx
lea edx, [ebp - 0x4e0]
push edx
call fcn.00418300
add esp, 0xc
mov dword [ebp - 0x510], eax
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x514], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x514]
push ecx
lea edx, [ebp - 0x230]
push edx
call fcn.00418300
add esp, 0xc
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4e0]
call fcn.00405210
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c4]
call fcn.00405210
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x4a8]
call fcn.00405210
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x48c]
call fcn.00405210
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x470]
call fcn.00405210
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x454]
call fcn.00405210
lea ecx, [ebp - 0x230]
call fcn.004052b0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00405210
jmp 0x40e7b3
mov eax, dword [ebp - 0x4e4]
cmp dword [eax + 0x14], 0
je 0x40e788
mov ecx, dword [ebp - 0x4e4]
xor edx, edx
cmp dword [ecx], 0
sete dl
push edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx + 0xc]
push eax
call fcn.00412a50
add esp, 0xc
mov dword [ebp - 0x438], eax
push 1
push 0
push 0
mov ecx, dword [ebp - 0x438]
push ecx
push 0
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
push eax
lea ecx, [ebp - 0x214]
push ecx
call fcn.0040e820
add esp, 8
mov ecx, eax
call fcn.00410700
mov edx, dword [0x4b3ed4]
add edx, 0xc
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x40e7b3
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
push eax
lea ecx, [ebp - 0x214]
push ecx
call fcn.0040e820
add esp, 8
push eax
call fcn.0040e7d0
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042624f
mov esp, ebp
pop ebp
ret