Function at 0x48893c
Capabilities:
Hide graphical window

Disassembly:
push ebp
lea ebp, [esp - 0x30]
sub esp, 0x150
push ebx
push esi
push edi
push dword [ebp + 0x54]
mov eax, 0x4ae9fc
push dword [ebp + 0x50]
mov esi, ecx
push dword [ebp + 0x4c]
mov dword [ebp + 0x2c], esi
push dword [ebp + 0x48]
push eax
push eax
mov eax, dword [ebp + 0x44]
push dword [eax]
push dword [ebp + 0x38]
push 0x10
call fcn.00434aed
push 0x4c9c14
mov dword [esi], 0x4b69d0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x48]
and dword [ebp + 8], 0
shl eax, 2
not eax
and eax, 0x10000
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x78]
test eax, eax
mov dword [ebp + 4], 9
je 0x4889b6
mov cx, word [eax]
mov ax, word [eax + 2]
mov word [ebp + 8], cx
mov word [ebp + 4], ax
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x24]
mov edi, dword [ebp + 0x6c]
add edx, eax
mov dword [ebp + 0x14], eax
mov eax, dword [esi + 0x2c]
add eax, ecx
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x1c], edx
mov edx, dword [ebp + 0x68]
mov eax, edx
mov ebx, 0x800
and eax, ebx
mov dword [ebp + 0x10], eax
mov eax, edx
and eax, 0xfffff7ff
mov dword [esi + 0x44], eax
mov al, dl
and al, 0x10
push edi
push edx
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x28], edi
mov byte [ebp + 0x57], al
mov dword [ebp + 0x4c], 0x10000000
call fcn.00439ff3
test al, al
pop ecx
pop ecx
je 0x488a13
mov dword [ebp + 0x4c], 0x18000000
mov eax, edx
and eax, 0x40
xor ecx, ecx
or eax, ecx
je 0x488a22
or byte [ebp + 0x4e], 0x80
and dword [ebp + 0x44], 0
mov eax, edx
and eax, 0x80000000
or eax, edi
je 0x488a34
mov dword [ebp + 0x44], ebx
mov ecx, edx
and ecx, 0x80000
xor ebx, ebx
mov eax, ecx
or eax, ebx
jne 0x488a48
or dword [ebp + 0x4c], 8
or dword [ebp + 0x4c], 1
mov eax, edx
and eax, 0x2000
xor edi, edi
or eax, edi
je 0x488a5d
or byte [ebp + 0x4d], 0x40
mov eax, edx
and eax, 0x1000
xor edi, edi
or eax, edi
je 0x488a6e
or byte [ebp + 0x4d], 2
mov eax, edx
and eax, 0x10000
xor edx, edx
or eax, edx
je 0x488a7f
or dword [ebp + 0x4c], 4
or ecx, ebx
je 0x488a87
or dword [ebp + 0x4c], 4
mov eax, dword [ebp + 0x44]
test eax, eax
jle 0x488a91
or dword [ebp + 0x4c], eax
push 0x194
call fcn.0049aa28
test eax, eax
pop ecx
je 0x488ab0
push esi
add esi, 0x34
push esi
mov ecx, eax
call fcn.004973a0
mov ebx, eax
jmp 0x488ab2
xor ebx, ebx
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x74]
push dword [ebp + 0x40]
mov dword [eax + 0x1c], ebx
mov dword [ecx], eax
mov eax, dword [ebp + 0x7c]
mov dword [ebx + 0xd0], eax
mov eax, dword [ebp + 0x3c]
push dword [eax + 0x18]
mov eax, dword [ebp + 0x4c]
or eax, dword [ebp + 0x38]
sub esp, 0x10
mov edi, esp
lea esi, [ebp + 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
or eax, 0x40000000
push eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call fcn.00494846
mov ecx, ebx
call fcn.00439ef7
push eax
lea ecx, [ebx + 0x4c]
call fcn.004943bc
mov eax, dword [ebp + 0x68]
and eax, 0x4800
xor ecx, ecx
cmp eax, 0x4000
jne 0x488b24
test ecx, ecx
jne 0x488b24
push ecx
push dword [ebx + 0x64]
call dword [sym.imp.USER32.dll_EnableWindow]
or byte [ebx + 0x193], 1
mov eax, dword [ebp + 0x68]
and eax, 0x4000
xor ecx, ecx
or eax, ecx
je 0x488b39
or byte [ebx + 0x192], 1
lea ecx, [ebp - 0xc]
call fcn.0043fd9a
mov edi, dword [ebp + 0x60]
cmp word [edi], 0x3d
jne 0x488b7a
inc edi
inc edi
push 0x3a
lea eax, [ebp + 0x60]
mov dword [ebp + 0x60], edi
mov esi, edi
call fcn.0043f8e8
mov edi, dword [ebp + 0x60]
mov eax, edi
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0xc]
call fcn.0043febe
cmp word [edi], 0
je 0x488b7a
inc edi
inc edi
mov dword [ebp + 0x60], edi
mov ecx, dword [ebp + 0x3c]
call fcn.0048bde1
and byte [ebp + 0x69], 0xf7
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x6c]
mov dword [ebp + 0x6c], eax
xor eax, eax
mov ax, word [edi]
or esi, 0xffffffff
cmp ax, 0x2a
mov dword [ebp + 0x44], esi
mov dword [ebp], eax
jne 0x488ba7
and word [edi], 0
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0047c444
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x488bc4
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x50], eax
push 0x3a
lea eax, [ebp + 0x50]
call fcn.0043f8e8
mov eax, dword [ebp + 0x50]
xor edi, edi
cmp word [eax], di
pop ecx
je 0x488be3
mov word [eax], di
add dword [ebp + 0x50], 2
fld qword [0x4b47c0]
lea eax, [ebp - 0x14]
fstp qword [ebp - 0x14]
push eax
lea eax, [ebp + 0x50]
fldz
push eax
fstp qword [ebp + 0x1c]
mov dword [ebp + 0x38], 0x80000000
mov dword [ebp + 0x74], esi
mov dword [ebp - 8], esi
mov dword [ebp + 0x78], esi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x7c], esi
call fcn.0047c2f7
mov eax, dword [ebp + 0x50]
cmp word [eax], di
pop ecx
pop ecx
je 0x488cd7
push 2
pop esi
add dword [ebp + 0x50], esi
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0043c486
mov eax, dword [ebp + 0x50]
cmp word [eax], di
pop ecx
pop ecx
je 0x488cd7
add dword [ebp + 0x50], esi
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0047c2f7
mov eax, dword [ebp + 0x50]
cmp word [eax], di
pop ecx
pop ecx
je 0x488cd7
add dword [ebp + 0x50], esi
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0047c444
mov eax, dword [ebp + 0x50]
cmp word [eax], di
pop ecx
pop ecx
je 0x488cd7
add dword [ebp + 0x50], esi
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0047c444
mov eax, dword [ebp + 0x50]
cmp word [eax], di
pop ecx
pop ecx
je 0x488cd7
add dword [ebp + 0x50], esi
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0047c444
mov eax, dword [ebp + 0x50]
cmp word [eax], di
pop ecx
pop ecx
je 0x488cd7
add dword [ebp + 0x50], esi
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0047c444
mov eax, dword [ebp + 0x50]
cmp word [eax], di
pop ecx
pop ecx
je 0x488cd7
add dword [ebp + 0x50], esi
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0047c444
pop ecx
pop ecx
mov eax, dword [ebp + 0x44]
test eax, eax
mov esi, dword [sym.imp.GDI32.dll_GetObjectW]
jg 0x488cf4
mov ecx, dword [ebp + 0x60]
cmp word [ecx], 0
jne 0x488cf4
cmp word [ebp], 0
je 0x488d55
and dword [ebp - 0xc4], 0
push 0x16
pop ecx
mov dword [ebp], eax
xor eax, eax
lea edi, [ebp - 0xc0]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xc4]
push eax
push 0x5c
push dword [ebp + 0x4c]
call esi
cmp dword [ebp + 0x78], 0
jle 0x488d28
mov eax, dword [ebp + 0x78]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 0x40]
test eax, eax
jle 0x488d35
mov dword [ebp - 0xc0], eax
push dword [ebp + 0x60]
lea eax, [ebp]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.00480e72
add esp, 0xc
test eax, eax
mov dword [ebx + 0x40], eax
je 0x488d55
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp + 0x3c]
push dword [eax + 0x18]
lea ecx, [ebp - 4]
call fcn.00401022
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_GetBkColor]
push eax
mov ecx, ebx
call fcn.00439f48
lea ecx, [ebp - 4]
call fcn.0040103b
push dword [ebp + 0x60]
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x4c]
call fcn.00484f5d
mov dword [ebx + 0xd4], eax
mov eax, dword [ebp + 0x44]
add esp, 0xc
test eax, eax
jle 0x488da1
mov dword [ebx + 0x164], eax
push 1
push dword [ebx + 0x18]
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov eax, dword [ebx]
push 1
push dword [ebp + 0x4c]
mov ecx, ebx
call dword [eax + 0x80]
mov eax, dword [ebp + 0x38]
test eax, eax
jl 0x488dc7
movzx edx, al
jmp 0x488dca
or edx, 0xffffffff
test eax, eax
jl 0x488dd3
movzx ecx, ah
jmp 0x488dd6
or ecx, 0xffffffff
test eax, eax
jl 0x488de2
sar eax, 0x10
movzx eax, al
jmp 0x488de5
or eax, 0xffffffff
fld qword [ebp + 0x1c]
push ecx
fstp dword [esp]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.00494a87
and dword [ebp - 0x120], 0
push 0x16
pop ecx
xor eax, eax
lea edi, [ebp - 0x11c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x120]
push eax
push 0x5c
push dword [ebp + 0x4c]
call esi
cmp dword [ebp + 0x74], 0
mov dword [ebp + 0x60], 0x80000000
jle 0x488e2e
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 8]
test eax, eax
jle 0x488e3b
mov dword [ebp - 0x11c], eax
push dword [ebp + 0x70]
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.00480e72
mov dword [ebx + 0xa4], eax
mov eax, dword [ebp + 0x68]
and eax, 0x80
xor ecx, ecx
add esp, 0xc
or eax, ecx
je 0x488e6c
or byte [ebx + 0x192], 4
mov ecx, dword [ebp + 0x68]
mov eax, ecx
and eax, 0x100
xor edx, edx
or eax, edx
je 0x488e83
or byte [ebx + 0x192], 8
mov eax, ecx
and eax, 0x1800200
xor edx, edx
xor edi, edi
or eax, edx
jne 0x488e93
inc edi
mov eax, ecx
mov esi, 0x400
and eax, esi
xor edx, edx
or eax, edx
je 0x488ea5
or edi, 4
mov eax, ecx
and eax, 0x4000
xor edx, edx
or eax, edx
je 0x488eb9
or byte [ebx + 0x192], 1
cmp dword [ebp + 0x10], 0
je 0x488ec2
or edi, 0x10
mov eax, ecx
and eax, 0x20000
xor ecx, ecx
or eax, ecx
je 0x488ed5
or edi, 0x8000
mov ecx, ebx
call fcn.00439f35
and eax, 0xffff7fff
or edi, eax
or edi, 4
push edi
mov ecx, ebx
call fcn.004948b2
mov eax, dword [ebp + 0x68]
and eax, 0x10000
xor ecx, ecx
or eax, ecx
je 0x488f06
mov eax, dword [ebp + 0x6c]
and byte [ebp + 0x6a], 0xf7
mov dword [ebp + 0x6c], eax
mov edx, dword [ebp + 0x68]
mov eax, edx
and eax, 0x40000
xor ecx, ecx
or eax, ecx
je 0x488f1d
or byte [ebx + 0x192], 2
mov eax, edx
and eax, 0x80000
xor ecx, ecx
or eax, ecx
je 0x488f31
or byte [ebx + 0x192], 0x20
mov eax, edx
and eax, 0x100000
xor ecx, ecx
or eax, ecx
je 0x488f45
or byte [ebx + 0x192], 0x40
mov eax, edx
and eax, 0x200000
xor ecx, ecx
or eax, ecx
je 0x488f59
or word [ebx + 0x192], si
mov eax, edx
and eax, 0x400000
xor ecx, ecx
or eax, ecx
je 0x488f6d
or byte [ebx + 0x193], 0xc
mov eax, edx
and eax, 0x800000
xor ecx, ecx
or eax, ecx
je 0x488f81
or byte [ebx + 0x193], 0x18
mov eax, edx
and eax, 0x1000000
xor ecx, ecx
or eax, ecx
je 0x488f95
or byte [ebx + 0x193], 0x28
mov al, byte [ebp + 0x28]
and al, 1
mov byte [ebp + 0x63], al
je 0x488fa6
or byte [ebx + 0x193], 2
mov eax, dword [ebp + 0x64]
or dword [ebp + 0x14], 0xffffffff
or dword [ebp + 0x18], 0xffffffff
or dword [ebp + 0x1c], 0xffffffff
mov dword [ebp + 0x4c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x64]
mov esi, 0x80000000
push eax
mov dword [ebp + 0x20], esi
call fcn.00442b03
cmp dword [ebp + 0x14], 0
pop ecx
pop ecx
jl 0x488fdf
push dword [ebp + 0x14]
mov ecx, ebx
call fcn.00439f48
mov eax, dword [ebp + 0x18]
test eax, eax
jl 0x488ff4
push eax
mov ecx, ebx
mov dword [ebx + 0x174], eax
call fcn.00439f5f
mov eax, dword [ebp + 0x1c]
test eax, eax
jl 0x489009
push eax
mov ecx, ebx
mov dword [ebx + 0x170], eax
call fcn.00494ae1
cmp dword [ebp + 0x20], esi
je 0x489068
push 0x23
pop edi
push edi
lea eax, [ebp + 0x4c]
call fcn.0043f8e8
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
pop ecx
jne 0x489031
add dword [ebp + 0x4c], 2
push edi
lea eax, [ebp + 0x4c]
call fcn.0043f8e8
pop ecx
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x489047
add dword [ebp + 0x4c], 2
push edi
lea eax, [ebp + 0x4c]
call fcn.0043f8e8
pop ecx
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x48905b
cmp word [eax + 2], 0x2a
mov eax, 0xff0000
je 0x48905e
mov eax, dword [ebp + 0x20]
cmp eax, esi
je 0x489068
mov dword [ebx + 0x178], eax
xor ecx, ecx
cmp dword [ebx + 0x178], ecx
jl 0x489085
mov eax, dword [ebp + 0x68]
and eax, 0x10000
or eax, ecx
je 0x489085
or byte [ebx + 0x192], 0x10
push 7
pop edx
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x30]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
xor ecx, ecx
mov dword [ebp - 0x34], edx
mov edx, dword [ebp + 0x3c]
mov edi, dword [edx + 0xac]
mov dword [ebp + 0x48], eax
cmp word [eax], cx
mov dword [ebp + 0x24], ecx
sete byte [ebp + 0x67]
cmp dword [ebx + 0x178], ecx
mov dword [ebp + 0x28], ecx
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x10], ecx
jl 0x4890cb
test byte [ebx + 0x192], 0x10
jne 0x4890d4
test byte [ebx + 0x192], 0x20
je 0x4890de
or byte [ebx + 0x192], 0x80
mov eax, dword [ebp + 0x48]
xor esi, esi
cmp word [eax], si
je 0x48918b
push dword [ebp + 4]
and dword [ebp + 0x44], 0
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp + 0x3c], 0x80000000
mov byte [ebp + 0x4c], 0
call fcn.0046e7a5
add esp, 0x18
test eax, eax
jge 0x489121
cmp dword [ebp + 0x3c], 0
jl 0x48912d
push dword [ebp + 0x3c]
mov ecx, ebx
push eax
push esi
call fcn.00497245
mov eax, dword [ebp - 0x2c]
cdq
add dword [ebp + 0x24], eax
adc dword [ebp + 0x28], edx
test edi, edi
jle 0x48915c
push dword [ebp + 0x28]
mov eax, edi
push dword [ebp + 0x24]
cdq
push edx
push eax
call fcn.0049a8f0
push 0
push 0x60
push edx
push eax
call fcn.0049adb0
sub eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
push dword [ebp + 0x4c]
lea eax, [ebp - 0x34]
push eax
push esi
mov ecx, ebx
call fcn.004957a9
mov eax, dword [ebp - 0x2c]
cdq
add dword [ebp + 0xc], eax
lea ecx, [ebp + 0x44]
adc dword [ebp + 0x10], edx
call fcn.00439cfd
mov eax, dword [ebp + 0x48]
inc esi
cmp word [eax], 0
jne 0x4890e9
fld qword [ebp - 0x14]
mov eax, dword [ebp + 0x2c]
fcomp qword [0x4b3600]
mov dword [eax + 0x40], esi
fnstsw ax
test ah, 0x41
jne 0x4891af
fld qword [ebp - 0x14]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.00494abe
cmp dword [ebp + 0x7c], 0
jle 0x4891bf
push dword [ebp + 0x7c]
mov ecx, ebx
call fcn.00494acb
push 0xc
xor eax, eax
pop ecx
lea edi, [ebp - 0x64]
rep stosd dword es:[edi], eax
and dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x5c]
mov edi, dword [eax]
mov dword [ebp - 0x64], 0x7fffffff
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x54], 0x4ae9fc
mov dword [ebp + 0x3c], edi
jmp 0x48930a
cmp word [ebp + 8], 0
mov dword [ebp + 0x48], edi
lea eax, [ebp + 0x3c]
jne 0x489212
call fcn.004135f1
mov edi, dword [ebp + 0x3c]
cmp word [edi], 0xd
mov eax, edi
jne 0x489220
inc edi
inc edi
mov dword [ebp + 0x3c], edi
jmp 0x489220
push dword [ebp + 8]
call fcn.0043f8e8
mov edi, dword [ebp + 0x3c]
pop ecx
mov eax, edi
cmp word [edi], 0
je 0x48922b
inc edi
inc edi
mov dword [ebp + 0x3c], edi
cmp word [eax], 0
je 0x489235
and word [eax], 0
mov eax, dword [ebp + 0x48]
xor esi, esi
cmp word [eax], si
mov dword [ebp + 0x44], esi
je 0x48930a
cmp byte [ebp + 0x67], 0
jne 0x489258
mov eax, dword [ebp + 0x2c]
cmp esi, dword [eax + 0x40]
jge 0x48930a
cmp byte [ebp + 0x63], 0
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x4c], eax
lea eax, [ebp + 0x48]
je 0x48926f
push eax
call fcn.0040549b
jmp 0x489277
push dword [ebp + 4]
call fcn.0043f8e8
pop ecx
mov ecx, dword [ebp + 0x48]
cmp word [ecx], 0
je 0x48928d
and word [ecx], 0
mov ecx, dword [ebp + 0x48]
inc ecx
inc ecx
mov dword [ebp + 0x48], ecx
cmp byte [ebp + 0x63], 0
je 0x4892aa
test ecx, ecx
je 0x4892aa
jmp 0x48929e
inc ecx
inc ecx
mov dword [ebp + 0x48], ecx
mov ax, word [ecx]
call fcn.00439c5f
test al, al
jne 0x489299
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax + 0x40]
cmp esi, eax
mov dword [ebp - 0x60], esi
jl 0x4892ce
mov edx, dword [ebp + 0x2c]
lea ecx, [eax + 1]
mov dword [edx + 0x40], ecx
push 0
lea ecx, [ebp - 0x34]
push ecx
push eax
mov ecx, ebx
call fcn.004957a9
test esi, esi
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x54], eax
jne 0x4892e8
lea eax, [ebp - 0x68]
push eax
mov ecx, ebx
call fcn.004948cc
mov dword [ebp + 0x44], eax
jmp 0x4892fc
cmp word [eax], 0
je 0x4892fc
push dword [ebp + 0x4c]
mov ecx, ebx
push esi
push dword [ebp + 0x44]
call fcn.00439f0a
mov eax, dword [ebp + 0x48]
inc esi
cmp word [eax], 0
jne 0x489246
cmp word [edi], 0
jne 0x4891ee
push dword [ebp + 0x6c]
mov ecx, ebx
push dword [ebp + 0x68]
call fcn.004948c9
push 0x32
pop ecx
push ecx
mov eax, ecx
push eax
push 1
mov ecx, ebx
call fcn.00439f76
cmp byte [ebp + 0x57], 0
je 0x489342
push 0
push dword [ebx + 0x18]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp + 0x2c]
xor eax, eax
cmp byte [ebp + 0x57], al
sete al
push eax
call fcn.004349ef
lea ecx, [ebp - 0xc]
call fcn.00439cfd
push 0x4c9c14
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x2c]
pop edi
pop esi
pop ebx
add ebp, 0x30
leave
ret 0x48