Function at 0x41b750
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0xebc]
push edi
xor edi, edi
xor ebx, ebx
cmp eax, dword [esi + 0xec0]
je 0x41b7b4
lea eax, [esi + 0xea4]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esi + 0xebc]
cmp ecx, dword [esi + 0xec0]
je 0x41b7a5
mov eax, dword [esi + 0xec0]
mov ebx, dword [eax - 4]
cmp ecx, eax
je 0x41b7a5
add eax, 0xfffffffc
mov dword [esi + 0xec0], eax
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp ebx, edi
jne 0x41b7ea
push 0xa027
call fcn.00428e66
add esp, 4
cmp eax, edi
je 0x41b7e8
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov ebx, eax
jmp 0x41b7ea
xor ebx, ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x18]
push edx
mov dword [ebx], eax
mov dword [ebx + 0xc], ecx
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x20], edi
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [esp + 0x1c]
push edi
xor eax, eax
or eax, dword [esp + 0x1c]
xor esi, esi
push 0xa
or ecx, esi
push ecx
push eax
call fcn.004330f0
push edi
add eax, 0xb779c000
push 0x3e8
adc edx, 0xffd6a169
push edx
push eax
call fcn.004330f0
push edi
push 0x3e8
mov esi, eax
push edx
push esi
call fcn.004330f0
mov dword [ebx + 0x10], eax
imul eax, eax, 0x3e8
sub esi, eax
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x10]
mov dword [ebx + 0x1c], eax
mov eax, dword fs:[0x2c]
mov edi, dword [eax]
mov eax, dword [edi + 0x34]
mov edx, dword [edi + 0x30]
mov dword [esp + 0x18], edi
cmp ecx, eax
jl 0x41b8a4
jg 0x41b88d
cmp esi, edx
jb 0x41b8a4
add edx, 0x15180
adc eax, 0
cmp ecx, eax
jl 0x41b91f
jg 0x41b8a4
cmp esi, edx
jb 0x41b91f
xor eax, eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
call fcn.004283c4
lea eax, [edi + 8]
mov edi, eax
mov ecx, 9
lea esi, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
xor ecx, ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0xc], ecx
push eax
mov dword [eax], ecx
call fcn.004288fb
mov dword [esi + 0x30], eax
add esp, 0xc
mov dword [esi + 0x34], edx
mov edi, esi
mov esi, dword [ebx + 0x10]
mov ecx, dword [esp + 0x18]
sub esi, dword [edi + 0x30]
mov edi, dword [ebx + 0x14]
sbb edi, dword [ecx + 0x34]
lea eax, [ebx + 0x24]
lea edx, [eax + 0xa000]
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0x1c]
add eax, 0x76c
mov dword [esp + 0x10], edx
cdq
push 4
push edx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004198d0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub ecx, eax
cmp ecx, 1
jle 0x41b97b
mov byte [eax], 0x2d
inc eax
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x18]
inc eax
cdq
push 2
push edx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004198d0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub ecx, eax
cmp ecx, 1
jle 0x41b9ac
mov byte [eax], 0x2d
inc eax
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x14]
cdq
push 2
push edx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004198d0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub ecx, eax
cmp ecx, 1
jle 0x41b9dc
mov byte [eax], 0x20
inc eax
mov dword [esp + 0x14], eax
push 0
push 0xe10
push edi
push esi
call fcn.00432f40
push 2
push edx
mov dword [esp + 0x24], edx
push eax
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x28], eax
call fcn.004198d0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub ecx, eax
cmp ecx, 1
jle 0x41ba17
mov byte [eax], 0x3a
inc eax
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push 2
push 0
push 0xe10
push edx
push eax
call fcn.004330b0
mov ecx, esi
sub ecx, eax
push 0
mov eax, edi
push 0x3c
sbb eax, edx
push eax
push ecx
call fcn.00432f40
push edx
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.004198d0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub edx, eax
cmp edx, 1
jle 0x41ba65
mov byte [eax], 0x3a
inc eax
mov dword [esp + 0x14], eax
push 2
push 0
push 0x3c
push edi
push esi
call fcn.00432f40
mov dword [esp + 0x28], edx
mov ecx, eax
shld edx, ecx, 4
shl ecx, 4
sub ecx, eax
sbb edx, dword [esp + 0x28]
shld edx, ecx, 2
add ecx, ecx
add ecx, ecx
sub esi, ecx
sbb edi, edx
push edi
push esi
lea edx, [esp + 0x18]
push edx
call fcn.004198d0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub ecx, eax
cmp ecx, 1
jle 0x41bab4
mov byte [eax], 0x2e
inc eax
mov dword [esp + 0x14], eax
mov edx, dword [ebx + 0x18]
push 3
push 0
push edx
lea eax, [esp + 0x18]
push eax
call fcn.004198d0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edx, ecx
sub edx, eax
cmp edx, 1
jle 0x41badf
mov byte [eax], 0x20
inc eax
mov dword [esp + 0x14], eax
sub ecx, eax
cmp ecx, 1
jle 0x41baee
mov byte [eax], 0x5b
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x1c]
push 4
push 0
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.004198d0
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, edx
sub eax, esi
cmp eax, 1
jle 0x41bb15
mov byte [esi], 0x5d
inc esi
mov ecx, edx
sub ecx, esi
cmp ecx, 1
jle 0x41bb22
mov byte [esi], 0x20
inc esi
mov eax, dword [ebx + 0xc]
add eax, eax
mov edi, dword [eax + eax + str._t_t_b_b_t_t_t]
add eax, eax
mov eax, dword [eax + 0x449e10]
mov ecx, edx
sub ecx, esi
cmp edi, ecx
jbe 0x41bb40
mov edi, ecx
test edi, edi
je 0x41bb55
push edi
push eax
push esi
call fcn.0042aac0
mov edx, dword [esp + 0x1c]
add esp, 0xc
add esi, edi
sub edx, esi
cmp edx, 1
jle 0x41bb60
mov byte [esi], 0x20
inc esi
sub esi, dword [esp + 0xc]
pop edi
mov dword [ebx + 0x20], esi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 8