Function at 0x40b700
Capabilities:
Identify system language via api
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x124], ebx
call fcn.0042bb70
mov dword [ebx + 0x18], eax
call fcn.00428130
mov esi, eax
lea edi, [esi + 0x1c]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0x34]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [eax + 0x20], 0
jbe 0x40b74d
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ecx*4]
call edi
jmp 0x40b756
call edi
mov eax, dword [esi + 0x3c]
call eax
mov esi, eax
mov dword [ebx + 0x334], esi
mov ecx, esi
mov eax, dword [esi]
push 0
mov eax, dword [eax + 0x150]
call eax
mov ecx, dword [ebx + 0x334]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x184]
call eax
mov ecx, dword [ebx + 0x334]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x168]
call eax
mov ecx, dword [ebx + 0x334]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x18c]
call eax
mov ecx, dword [ebx + 0x14]
push dword [0x5bb6b0]
mov eax, dword [ecx]
mov eax, dword [eax + 0xb4]
call eax
mov ecx, dword [ebx + 0x334]
push 0
push dword [ebx + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2e0]
call eax
mov ecx, ebx
call fcn.004093e0
mov eax, dword [ebx + 0x2a8]
mov ecx, dword [ebx + 0x20]
push 0x4ac4a0
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebx + 0x2a8]
push eax
mov eax, dword [esi + 0x210]
call eax
mov word [ebx + 0x362], 0x100
call fcn.00479ed0
mov byte [ebx + 0x380], al
call fcn.00479250
mov byte [ebx + 0x362], al
call fcn.00479060
mov byte [ebx + 0x363], al
call fcn.00479440
mov dword [ebx + 0x364], eax
call fcn.00479900
mov ecx, 0x64
mov dword [ebx + 0x368], eax
call fcn.004799f0
call fcn.00479af0
mov ecx, 0x64
mov dword [ebx + 0x36c], eax
call fcn.00479be0
call fcn.00479ce0
mov ecx, ebx
mov dword [ebx + 0x370], eax
call fcn.00417f60
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0x5a
push str.Transparency
push eax
mov eax, dword [edx + 0x50]
call eax
mov ecx, ebx
mov dword [ebx + 0x100], eax
call fcn.004190f0
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x28]
call eax
test al, al
je 0x40b8fb
mov eax, dword [0x5f34e0]
cmp eax, 0xffffffff
jne 0x40b8c8
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ecx, ax
call fcn.0049cb40
mov dword [0x5f34e0], eax
cmp eax, 0x1e00000
je 0x40b8fb
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0xc0
push str.Mp3QualityBitRate
push eax
mov eax, dword [edx + 0x50]
call eax
mov dword [ebx + 0x1d8], eax
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 1
push str.DiscardMilliSecAlsoOnResume
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0x1f8], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.DiscardMilliSec
push eax
mov eax, dword [edx + 0x50]
call eax
mov dword [ebx + 0x1fc], eax
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0x12c
push str.RewindMilliSec
push eax
mov eax, dword [edx + 0x50]
call eax
mov dword [ebx + 0x20c], eax
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0x5dc
push str.SilenceThresholdMilliSec
push eax
mov eax, dword [edx + 0x50]
call eax
mov dword [ebx + 0x21c], eax
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0xa
push str.SilenceThresholdVolume
push eax
mov eax, dword [edx + 0x50]
call eax
mov dword [ebx + 0x22c], eax
cmp byte [0x6176c4], 0
jne 0x40b9dc
call fcn.00474a20
cmp byte [0x61405b], 0
je 0x40b9ec
mov ecx, ebx
call fcn.0041ba30
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 1
push str.ShortcutKey
push eax
mov eax, dword [edx + 0x50]
call eax
mov dword [ebx + 0x240], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004372e0
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40ba55
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 8], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov eax, dword [ebp - 8]
jmp 0x40ba66
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 8], eax
mov edx, dword [eax]
mov ecx, eax
push dword [ebp - 0xc]
mov edx, dword [edx + 0x3c]
call edx
mov ecx, dword [ebp - 8]
push 0xaae60
mov eax, dword [ecx]
mov eax, dword [eax + 0x5c]
call eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x5c], eax
mov ecx, dword [ebx + 0x20]
add ecx, 8
mov dword [ebp - 8], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
test eax, eax
je 0x40bb43
xor ecx, ecx
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40baef
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov eax, dword [ebp - 0x10]
jmp 0x40bb00
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x10], eax
mov ecx, dword [eax + 0xc]
push dword [ebp - 0xc]
mov edx, dword [ecx]
mov edx, dword [edx + 0x210]
call edx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
push edx
mov dword [edx + 0x14], eax
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x5c]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x20]
inc dword [ebp - 8]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb 0x40baa5
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40bb79
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40bb85
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x5c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x20]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40bbdb
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 0x10], esi
call edi
jmp 0x40bbee
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov esi, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [esi + 8], eax
mov dword [esi + 0x10], 0xaae61
test ecx, ecx
je 0x40bc22
mov eax, dword [esi + 0xc]
push 0xaae61
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 0x10]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x14], eax
mov byte [esi + 0x18], 0
mov ecx, dword [ebx + 0x5c]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
cmp dword [eax + 0x38], 0
je 0x40bc73
lea ecx, [eax + 8]
xor esi, esi
mov eax, dword [ecx]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax + 0x30]
call eax
test eax, eax
je 0x40bc73
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + esi*4]
cmp eax, dword [ecx + 0x38]
je 0x40bc76
mov ecx, dword [ebp - 0x14]
inc esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp esi, eax
jb 0x40bc56
or esi, 0xffffffff
mov ecx, dword [ebx + 0x5c]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
imul eax, dword [ebx + 0x18], 0x15
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 1
push str.RightClickTransform
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0x98], al
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004372e0
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40bcf1
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 8], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov eax, dword [ebp - 8]
jmp 0x40bd02
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 8], eax
mov edx, dword [eax]
mov ecx, eax
push dword [ebp - 0xc]
mov edx, dword [edx + 0x3c]
call edx
mov ecx, dword [ebp - 8]
push 0x124f80
mov eax, dword [ecx]
mov eax, dword [eax + 0x5c]
call eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x6c], eax
cmp byte [ebx + 0x34], 0
je 0x40be61
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40bd63
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x10], ecx
call edi
mov eax, dword [ebp - 0x10]
jmp 0x40bd70
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x10], eax
mov byte [eax + 0x1a], 1
call fcn.004242d0
mov dword [ebp - 0x28], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x28]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40bdaa
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 8], ecx
call edi
mov eax, dword [ebp - 8]
jmp 0x40bdb7
call edi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 8], eax
mov ecx, dword [eax + 0xc]
push str.Create_Skin_Images...
mov edx, dword [ecx]
mov edx, dword [edx + 0x210]
call edx
mov eax, dword [ebp - 8]
mov dword [eax + 0x14], 0x752e
mov byte [eax + 0x18], 0
call fcn.004242d0
mov dword [ebp - 0xc], eax
add eax, 0x1c
push eax
mov dword [ebp - 0x14], eax
call esi
mov esi, dword [ebp - 0xc]
mov eax, dword [esi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40be0b
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x14]
push eax
mov dword [ebp - 4], esi
call edi
jmp 0x40be1b
lea eax, [esi + 0x1c]
push eax
call edi
mov eax, dword [esi + 0x3c]
call eax
mov esi, eax
mov dword [ebp - 4], eax
mov ecx, dword [esi + 0xc]
push str.Customize_Skin...
mov edx, dword [ecx]
mov edx, dword [edx + 0x210]
call edx
push dword [ebp - 4]
mov dword [esi + 0x14], 0x752f
mov byte [esi + 0x18], 0
mov esi, dword [ebx + 0x6c]
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
mov eax, dword [esi]
mov ecx, dword [ebp - 8]
push ecx
mov ecx, esi
mov eax, dword [eax + 8]
call eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, esi
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 3
push str.AppendType
push eax
mov eax, dword [edx + 0x50]
call eax
mov dword [ebx + 0x25c], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004372e0
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40beca
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 8], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov eax, dword [ebp - 8]
jmp 0x40bedb
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 8], eax
mov edx, dword [eax]
mov ecx, eax
push dword [ebp - 0xc]
mov edx, dword [edx + 0x3c]
call edx
mov ecx, dword [ebp - 8]
push 0x27ac40
mov eax, dword [ecx]
mov eax, dword [eax + 0x5c]
call eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x258], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40bf39
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 0x44], ecx
call edi
mov eax, dword [ebp - 0x44]
jmp 0x40bf4a
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0x27ac86
test ecx, ecx
je 0x40bf82
mov eax, dword [eax + 0xc]
push 0x27ac86
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 0x44]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], 0x1496
mov byte [eax + 0x18], 0
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40bfc9
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x38], ecx
call edi
mov eax, dword [ebp - 0x38]
jmp 0x40bfd6
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0x27ac7c
test ecx, ecx
je 0x40c00e
mov eax, dword [eax + 0xc]
push 0x27ac7c
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 0x38]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x38]
mov dword [eax + 0x14], 0x148c
mov byte [eax + 0x18], 0
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40c055
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x34], ecx
call edi
mov eax, dword [ebp - 0x34]
jmp 0x40c062
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0x27ac72
test ecx, ecx
je 0x40c09a
mov eax, dword [eax + 0xc]
push 0x27ac72
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 0x34]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x34]
mov dword [eax + 0x14], 0x1482
mov byte [eax + 0x18], 0
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40c0e1
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x2c], ecx
call edi
mov eax, dword [ebp - 0x2c]
jmp 0x40c0ee
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0x27ac68
test ecx, ecx
je 0x40c126
mov eax, dword [eax + 0xc]
push 0x27ac68
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 0x2c]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x14], 0x1478
mov byte [eax + 0x18], 0
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40c16d
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x30], ecx
call edi
mov eax, dword [ebp - 0x30]
jmp 0x40c17a
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0x27ac5e
test ecx, ecx
je 0x40c1b2
mov eax, dword [eax + 0xc]
push 0x27ac5e
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 0x30]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x14], 0x146e
mov byte [eax + 0x18], 0
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40c1f9
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x20], ecx
call edi
mov eax, dword [ebp - 0x20]
jmp 0x40c206
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0x27ac54
test ecx, ecx
je 0x40c23e
mov eax, dword [eax + 0xc]
push 0x27ac54
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 0x20]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x14], 0x1464
mov byte [eax + 0x18], 0
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x140], eax
call fcn.004242d0
mov dword [ebp - 0xc], eax
add eax, 0x1c
push eax
mov dword [ebp - 0x14], eax
call esi
mov esi, dword [ebp - 0xc]
mov eax, dword [esi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40c289
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
push eax
call edi
mov edi, dword [ebp - 0xc]
jmp 0x40c296
lea eax, [esi + 0x1c]
push eax
call edi
mov eax, dword [esi + 0x3c]
call eax
mov edi, eax
mov eax, dword [ebp - 0x140]
mov ecx, eax
mov dword [edi + 8], eax
mov dword [edi + 0x10], 0x27ac4a
test ecx, ecx
je 0x40c2c7
mov eax, dword [edi + 0xc]
push 0x27ac4a
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [edi + 0xc]
push eax
mov eax, dword [esi + 0x210]
call eax
mov dword [edi + 0x14], 0x145a
mov byte [edi + 0x18], 0
mov esi, dword [ebx + 0x258]
mov ecx, esi
push edi
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, esi
mov eax, dword [eax + 8]
call eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x30]
push ecx
mov ecx, esi
mov eax, dword [eax + 8]
call eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, esi
mov eax, dword [eax + 8]
call eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x34]
push ecx
mov ecx, esi
mov eax, dword [eax + 8]
call eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x38]
push ecx
mov ecx, esi
mov eax, dword [eax + 8]
call eax
mov eax, dword [esi]
mov ecx, dword [ebp - 0x44]
push ecx
mov ecx, esi
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx + 0x25c]
test eax, eax
jne 0x40c340
push 6
push eax
push eax
jmp 0x40c385
cmp eax, 1
jne 0x40c34c
push 6
push 0
push eax
jmp 0x40c385
cmp eax, 2
jne 0x40c358
push 6
push 0
push eax
jmp 0x40c385
cmp eax, 3
jne 0x40c364
push 6
push 0
push eax
jmp 0x40c385
cmp eax, 4
jne 0x40c370
push 6
push 0
push eax
jmp 0x40c385
cmp eax, 5
jne 0x40c37c
push 6
push 0
push eax
jmp 0x40c385
cmp eax, 6
jne 0x40c392
push eax
push 0
push eax
mov ecx, dword [ebx + 0x258]
mov eax, dword [ecx]
mov eax, dword [eax + 0x64]
call eax
mov ecx, 7
call fcn.00476280
mov edi, dword [ebx + 0x14]
mov ecx, edi
mov dword [ebp - 0x28], eax
mov edx, dword [edi]
mov edx, dword [edx + 0x24]
call edx
mov esi, eax
mov ecx, esi
mov edx, dword [esi]
mov edx, dword [edx + 0x70]
call edx
add eax, 0xa
mov ecx, esi
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
call eax
mov ecx, eax
call fcn.00428bf0
mov edx, dword [edi]
mov ecx, edi
mov dword [ebp - 0x14], eax
mov edx, dword [edx + 0x24]
call edx
mov esi, eax
mov ecx, esi
mov edx, dword [esi]
mov edx, dword [edx + 0x70]
call edx
push ecx
push eax
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x74]
call eax
mov ecx, eax
call fcn.00428c60
mov dword [ebp - 0xc], eax
call fcn.00407db0
mov esi, eax
lea edi, [esi + 0x1c]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0x34]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [eax + 0x20], 0
jbe 0x40c42a
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x10], esi
call edi
jmp 0x40c436
call edi
mov eax, dword [esi + 0x3c]
call eax
mov esi, eax
mov dword [ebp - 0x10], eax
mov edx, dword [esi]
mov ecx, esi
push dword [ebp - 0xc]
mov edx, dword [edx + 0x1e0]
call edx
mov ecx, eax
push 0x5bdd34
mov edx, dword [eax]
mov eax, dword [edx + 0x1e0]
call eax
push dword [ebp - 0x14]
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x1e0]
call eax
mov ecx, eax
push 0x5bdd38
mov edx, dword [eax]
mov eax, dword [edx + 0x1e0]
call eax
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x28]
mov eax, dword [ecx]
mov esi, dword [esi]
mov eax, dword [eax + 0x50]
call eax
mov ecx, dword [ebp - 0x28]
push eax
mov eax, dword [esi + 0x174]
call eax
mov ecx, dword [ebp - 0x10]
mov esi, eax
add ecx, 4
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
mov edx, dword [esi]
mov ecx, esi
mov edx, dword [edx + 0x34]
call edx
mov edx, dword [esi + 4]
lea ecx, [esi + 4]
mov byte [ebp - 0x45], al
mov edx, dword [edx + 4]
call edx
mov ecx, dword [ebp - 0x28]
add ecx, 4
mov edx, dword [ecx]
mov edx, dword [edx + 4]
call edx
call fcn.00437520
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
mov dword [ebp - 4], edx
push 0x5bb930
mov edx, dword [ecx]
mov dword [ebp - 8], eax
mov edx, dword [edx + 0x2c]
call edx
mov edx, dword [esi]
mov ecx, esi
push 0
push str.ShowStartTimerPanel
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0x110], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.StartTimerOn
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0x111], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0x1a5e00
push str.StartTimer
push eax
mov eax, dword [edx + 0x40]
call eax
mov ecx, 0x3e8
mul ecx
push 0x5bb930
mov dword [ebx + 0x118], eax
mov dword [ebx + 0x11c], edx
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0x1a5e00
push str.StartTimerTarget
push eax
mov eax, dword [edx + 0x40]
call eax
mov ecx, 0x3e8
mul ecx
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], edx
cmp byte [ebx + 0x111], 0
je 0x40c5dc
mov ecx, dword [ebp - 4]
mov esi, dword [ebx + 0x120]
cmp edx, ecx
jl 0x40c5d4
mov eax, dword [ebp - 8]
jg 0x40c5b2
cmp esi, eax
jbe 0x40c5d4
mov edx, eax
mov eax, ecx
add edx, 0x5265c00
adc eax, 0
cmp dword [ebx + 0x124], eax
jg 0x40c5d4
jl 0x40c5cd
cmp esi, edx
ja 0x40c5d4
mov eax, 1
jmp 0x40c5d6
xor eax, eax
mov byte [ebx + 0x111], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.ShowEndTimerPanel
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0x154], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.EndTimerOn
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0x155], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0x1baf80
push str.EndTimer
push eax
mov eax, dword [edx + 0x50]
call eax
mov ecx, 0x3e8
imul ecx
push 0x5bb930
mov dword [ebx + 0x158], eax
mov dword [ebx + 0x15c], edx
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0x1baf80
push str.EndTimerTarget
push eax
mov eax, dword [edx + 0x40]
call eax
mov ecx, 0x3e8
mul ecx
mov dword [ebx + 0x160], eax
mov dword [ebx + 0x164], edx
cmp byte [ebx + 0x155], 0
je 0x40c6e6
mov esi, dword [ebx + 0x164]
mov ecx, dword [ebp - 4]
mov edx, dword [ebx + 0x160]
cmp esi, ecx
jl 0x40c6de
mov eax, dword [ebp - 8]
jg 0x40c6c5
cmp edx, eax
jbe 0x40c6de
add eax, 0x5265c00
adc ecx, 0
cmp esi, ecx
jg 0x40c6de
jl 0x40c6d7
cmp edx, eax
ja 0x40c6de
mov eax, 1
jmp 0x40c6e0
xor eax, eax
mov byte [ebx + 0x155], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.ShowMaxDurationTimerPanel
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0x194], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.MaxDurationTimerOn
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0x195], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.MaxDurationTimer
push eax
mov eax, dword [edx + 0x50]
call eax
mov ecx, 0x3e8
imul ecx
mov dword [ebx + 0x198], eax
mov dword [ebx + 0x19c], edx
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0xa0]
call eax
mov byte [ebp - 0x15], al
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40c7be
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40c7d1
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x94b4c
test ecx, ecx
je 0x40c80b
mov eax, dword [edx + 0xc]
push 0x94b4c
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov al, byte [ebp - 0x15]
mov dword [edx + 0x14], 0x64
mov byte [edx + 0x18], al
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x2c]
call eax
test al, al
je 0x40c85b
movzx eax, byte [ebx + 0x98]
mov ecx, 0x94bb0
mov edx, dword [ebx + 0x20]
push eax
push 0x6e
call fcn.00424370
mov ecx, dword [ebx + 0x6c]
mov edx, eax
add esp, 8
test edx, edx
je 0x40c85b
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 8]
call eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40c891
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40c89d
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov al, byte [ebx + 0x110]
mov byte [ebp - 0x15], al
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40c8ef
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40c902
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x1b7b28
test ecx, ecx
je 0x40c93c
mov eax, dword [edx + 0xc]
push 0x1b7b28
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov al, byte [ebp - 0x15]
mov dword [edx + 0x14], 0x5e6
mov byte [edx + 0x18], al
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov al, byte [ebx + 0x154]
mov byte [ebp - 0x15], al
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40c997
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40c9aa
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x1b7f10
test ecx, ecx
je 0x40c9e4
mov eax, dword [edx + 0xc]
push 0x1b7f10
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov al, byte [ebp - 0x15]
mov dword [edx + 0x14], 0x5f0
mov byte [edx + 0x18], al
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov al, byte [ebx + 0x194]
mov byte [ebp - 0x15], al
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40ca3f
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40ca52
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x1b82f8
test ecx, ecx
je 0x40ca8c
mov eax, dword [edx + 0xc]
push 0x1b82f8
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov al, byte [ebp - 0x15]
mov dword [edx + 0x14], 0x5fa
mov byte [edx + 0x18], al
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40cad8
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40cae8
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x28]
call eax
test al, al
je 0x40cb4a
mov eax, dword [0x5f34e0]
cmp eax, 0xffffffff
jne 0x40cb2b
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ecx, ax
call fcn.0049cb40
mov dword [0x5f34e0], eax
cmp eax, 0x1e00000
je 0x40cb4a
mov ecx, ebx
call fcn.004197b0
mov ecx, dword [ebx + 0x6c]
mov edx, eax
test edx, edx
je 0x40cb4a
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
cmp byte [0x6176c4], 0
jne 0x40cb58
call fcn.00474a20
cmp byte [0x61405b], 0
je 0x40cb79
mov ecx, ebx
call fcn.0041bd30
mov ecx, dword [ebx + 0x6c]
mov edx, eax
test edx, edx
je 0x40cb79
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40cbaf
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40cbbb
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, ebx
call fcn.00419eb0
mov ecx, dword [ebx + 0x6c]
mov edx, eax
test edx, edx
je 0x40cbe2
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40cc18
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40cc24
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, ebx
call fcn.0041a450
mov ecx, dword [ebx + 0x6c]
mov edx, eax
test edx, edx
je 0x40cc4b
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
mov ecx, ebx
call fcn.0041b040
mov ecx, dword [ebx + 0x6c]
mov edx, eax
test edx, edx
je 0x40cc63
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
mov ecx, ebx
call fcn.0041a9b0
mov ecx, dword [ebx + 0x6c]
mov edx, eax
test edx, edx
je 0x40cc7b
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40ccb1
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40ccbd
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov edx, dword [ebx + 0x258]
mov ecx, dword [ebx + 0x6c]
test edx, edx
je 0x40cce1
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40cd17
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40cd23
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov edx, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x6c]
test edx, edx
je 0x40cd44
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
mov ecx, ebx
call fcn.00409dc0
mov ecx, dword [ebx + 0x6c]
mov edx, eax
test edx, edx
je 0x40cd5c
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
mov ecx, ebx
call fcn.00418ca0
mov ecx, dword [ebx + 0x6c]
mov edx, eax
test edx, edx
je 0x40cd74
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebx + 0x5c]
mov ecx, dword [ebx + 0x6c]
test edx, edx
je 0x40cd86
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40cdbc
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40cdc8
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, ebx
call fcn.0041da40
mov ecx, dword [ebx + 0x6c]
mov edx, eax
test edx, edx
je 0x40cdef
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40ce2b
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40ce3a
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x94cdc
test ecx, ecx
je 0x40ce74
mov eax, dword [edx + 0xc]
push 0x94cdc
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov al, byte [ebp - 0x45]
mov dword [edx + 0x14], 0x8c
mov byte [edx + 0x18], al
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
call fcn.004242d0
mov dword [ebp - 0xc], eax
add eax, 0x1c
push eax
call esi
mov esi, dword [ebp - 0xc]
mov eax, dword [esi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40cec0
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
lea eax, [esi + 0x1c]
push eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40cecd
lea eax, [esi + 0x1c]
push eax
call edi
mov eax, dword [esi + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push 0x5bb930
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 1
push str.ActionOnClose
push eax
mov eax, dword [edx + 0x50]
call eax
mov dword [ebx + 0x24c], eax
test eax, eax
jne 0x40cf1f
mov ecx, dword [ebx + 0x334]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x18c]
call eax
push 1
jmp 0x40cf38
cmp eax, 2
jne 0x40cf48
mov ecx, dword [ebx + 0x334]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x18c]
call eax
push 0
mov ecx, dword [ebx + 0x334]
mov eax, dword [ecx]
mov eax, dword [eax + 0x188]
call eax
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x88]
call eax
mov dword [ebx + 0x250], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40cf9b
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40cfae
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x2c53a8
test ecx, ecx
je 0x40cfe8
mov eax, dword [edx + 0xc]
push 0x2c53a8
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x22f6
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d038
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40d04b
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x2c559c
test ecx, ecx
je 0x40d085
mov eax, dword [edx + 0xc]
push 0x2c559c
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x22fb
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d0d5
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40d0e8
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x2c5790
test ecx, ecx
je 0x40d122
mov eax, dword [edx + 0xc]
push 0x2c5790
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x2300
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x88]
call eax
dec eax
mov dword [ebp - 8], eax
mov dword [ebx + 0x254], eax
mov eax, dword [ebx + 0x24c]
test eax, eax
je 0x40d17f
cmp eax, 1
jne 0x40d16b
push dword [ebp - 8]
mov eax, dword [ebx + 0x250]
push eax
inc eax
jmp 0x40d189
cmp eax, 2
jne 0x40d17f
push dword [ebp - 8]
mov eax, dword [ebx + 0x250]
push eax
add eax, 2
jmp 0x40d189
push dword [ebp - 8]
mov eax, dword [ebx + 0x250]
push eax
mov ecx, dword [ebx + 0x6c]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x64]
call eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d1ca
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40d1d6
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d21f
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40d232
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x77ce3250
test ecx, ecx
je 0x40d26c
mov eax, dword [edx + 0xc]
push 0x77ce3250
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x2711
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d2b6
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40d2c6
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d30f
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40d322
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0xb7598
test ecx, ecx
je 0x40d35c
mov eax, dword [edx + 0xc]
push 0xb7598
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x2712
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x6c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
call fcn.00476350
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x50]
call eax
mov dword [ebp - 0xc], eax
call fcn.00407db0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d3b4
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 0x28], esi
call edi
jmp 0x40d3c7
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov esi, eax
mov dword [ebp - 0x28], eax
mov edx, dword [esi]
mov ecx, esi
push dword [ebp - 0xc]
mov edx, dword [edx + 0x1e0]
call edx
mov ecx, eax
push 0x5bb850
mov edx, dword [eax]
mov eax, dword [edx + 0x1e0]
call eax
mov edi, dword [ebx + 0x1c]
call fcn.00476350
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x50]
call eax
mov ecx, dword [ebx + 0x14]
mov esi, eax
push str.CreationPath
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
call edx
mov edx, dword [edi]
mov ecx, edi
push 1
push 0
push esi
push str.FolderPath
push eax
mov eax, dword [edx + 0x64]
call eax
mov dword [ebp - 0xc], eax
call fcn.00407db0
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], eax
lea edi, [eax + 0x1c]
push edi
call esi
mov ecx, dword [ebp - 4]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d45d
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x40], eax
call edi
mov eax, dword [ebp - 0x40]
jmp 0x40d46a
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x40], eax
mov edx, dword [eax]
mov ecx, eax
push dword [ebp - 0xc]
mov edx, dword [edx + 0x1e0]
call edx
mov ecx, eax
push 0x5bb850
mov edx, dword [eax]
mov eax, dword [edx + 0x1e0]
call eax
mov edx, dword [ebp - 0x40]
mov ecx, edx
mov eax, dword [edx]
mov eax, dword [eax + 0x50]
call eax
mov ecx, eax
call fcn.0043bf50
mov dword [ebp - 0x3c], eax
call fcn.00423f10
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d4d4
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov eax, dword [ebp - 0xc]
jmp 0x40d4e2
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebx + 0xa8], eax
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 4], ecx
cmp dword [ecx + 0x38], 0
jne 0x40d514
call fcn.0045b670
mov ecx, dword [ebp - 4]
push eax
call fcn.004287c0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
test eax, eax
jne 0x40d514
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov dword [ecx + 0x38], eax
mov eax, dword [ecx + 0x38]
lea ecx, [ebp - 4]
push ecx
push 0x2dde3a
mov dword [ebp - 0xc], eax
lea ecx, [eax + 0x14]
mov dword [ebp - 4], 0
call fcn.0042ec90
test al, al
je 0x40d54d
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [ecx + 0x64]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
mov edx, eax
jmp 0x40d552
mov edx, 0x5b9058
mov eax, dword [ebx + 0xa8]
push edx
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x210]
call eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
mov ecx, dword [ebx + 0xa8]
push eax
mov ecx, dword [ecx + 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 0x210]
call eax
mov ecx, dword [ebx + 0xa8]
mov eax, dword [ebx + 0x334]
mov dword [ecx + 0xc], eax
call fcn.0043e200
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d5c7
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x24], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov eax, dword [ebp - 0x24]
jmp 0x40d5d8
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x24], eax
mov edx, dword [eax]
mov ecx, eax
mov edx, dword [edx + 0x150]
call edx
mov ecx, dword [ebp - 0x24]
push 1
push 0x64
mov eax, dword [ecx]
mov eax, dword [eax + 0x164]
call eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x140]
call eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x10], ecx
call fcn.0043ff20
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d64f
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x24], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov eax, dword [ebp - 0x24]
jmp 0x40d660
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x24], eax
mov edx, dword [eax]
mov ecx, eax
push 0x2dda48
mov edx, dword [edx + 0x118]
call edx
mov ecx, dword [ebp - 0x24]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x104]
call eax
mov ecx, dword [ebp - 0x24]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x108]
call eax
mov ecx, dword [ebp - 0x24]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x120]
call eax
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x14], ecx
mov edx, dword [eax + 0x10]
test edx, edx
je 0x40d6be
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax + 0xc8]
call eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
test al, al
je 0x40d70b
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test al, al
je 0x40d70b
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x58]
call eax
test al, al
je 0x40d70b
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
mov dword [ebp - 0xc], eax
call fcn.00440dd0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
push dword [ebp - 4]
jmp 0x40d72c
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
mov dword [ebp - 0xc], eax
call fcn.00440dd0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
push dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d74e
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 8], eax
call edi
mov eax, dword [ebp - 8]
jmp 0x40d75b
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 8], eax
mov edx, dword [eax]
mov ecx, eax
push 0
push dword [ebp - 0xc]
mov edx, dword [edx + 0x108]
call edx
mov ecx, dword [ebp - 8]
push 0x64
mov eax, dword [ecx]
mov eax, dword [eax + 0x164]
call eax
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov dword [eax + 0x1c], ecx
mov edx, dword [eax + 0x10]
test edx, edx
je 0x40d7a1
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax + 0xc8]
call eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x20]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
test eax, eax
je 0x40d7d8
mov ecx, dword [ebp - 0x10]
push 1
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x20]
mov esi, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
mov ecx, dword [ebp - 0x10]
push eax
mov eax, dword [esi + 0x108]
mov ecx, dword [ecx + 0x1c]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.00442440
mov dword [ebp - 0xc], eax
add eax, 0x1c
push eax
mov dword [ebp - 0x14], eax
call esi
mov esi, dword [ebp - 0xc]
mov eax, dword [esi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40d809
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x14]
push eax
call edi
jmp 0x40d816
lea eax, [esi + 0x1c]
push eax
call edi
mov eax, dword [esi + 0x3c]
call eax
mov esi, eax
mov edx, dword [esi]
mov ecx, esi
push 0x2dde30
mov edx, dword [edx + 0x108]
call edx
mov eax, dword [esi]
mov ecx, esi
push 1
mov eax, dword [eax + 0x84]
call eax
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
js 0x40d849
mov eax, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x16c]
call eax
mov edx, dword [ebx + 0xa8]
mov dword [ebp - 0xc], edx
mov dword [edx + 0x18], esi
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x40d86a
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0xc8]
call eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x18]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x170]
call eax
mov eax, dword [ebx + 0xa8]
push 0x5bb850
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x210]
call eax
mov ecx, dword [ebp - 0x3c]
add ecx, 4
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x28]
add ecx, 4
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x40]
add ecx, 4
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push str.CreationPath
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.CutSilence
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0xd0], al
mov ecx, dword [ebx + 0x14]
mov esi, dword [ebx + 0x1c]
push str.CreationPath
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.OverWritable
push eax
mov eax, dword [edx + 0x60]
call eax
mov byte [ebx + 0xd1], al
mov eax, dword [ebx + 0x18]
lea ecx, [eax + eax*8]
add ecx, ecx
mov dword [ebp - 0x144], ecx
lea ecx, [eax + eax*2]
shl ecx, 2
mov dword [ebp - 0x74], ecx
lea ecx, [eax*8]
sub ecx, eax
add ecx, ecx
cmp byte [0x6176c4], 0
mov dword [ebp - 0x70], ecx
jne 0x40d93c
call fcn.00474a20
cmp byte [0x61405b], 0
mov ecx, dword [ebp - 0x5c]
movsd xmm0, qword [0x5d4e28]
je 0x40d9e4
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x10], eax
call fcn.004424e0
mov esi, eax
sub esp, 8
mov eax, dword [ebp - 0x10]
mov ecx, eax
mov dword [ebx + 0x26c], esi
push 2
mov edx, dword [eax]
mov edx, dword [edx + 0x34]
call edx
mov edx, 0x3a0782
mov ecx, eax
call fcn.00423a20
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x40d99a
mov eax, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x10c]
call eax
mov ecx, dword [ebp - 0x10]
sub esp, 8
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x34]
call eax
mov edx, 0x3a039a
mov ecx, eax
call fcn.00423a20
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x40d9cb
mov eax, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x10c]
call eax
mov ecx, dword [ebp - 0x10]
sub esp, 8
mov eax, dword [ecx]
push 0
mov eax, dword [eax + 0x34]
call eax
mov edx, 0x39ffa8
jmp 0x40da98
mov esi, dword [ebx + 0x14]
call fcn.004424e0
mov dword [ebx + 0x26c], eax
sub esp, 8
mov edx, dword [esi]
mov ecx, esi
mov dword [ebp - 0xc], eax
push 0
mov edx, dword [edx + 0x34]
call edx
mov edx, 0x39ffa8
mov ecx, eax
call fcn.00423a20
mov edx, eax
add esp, 0xc
test edx, edx
je 0x40da26
mov ecx, dword [ebp - 0xc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x10c]
call eax
cmp byte [ebx + 0x380], 0
je 0x40dab5
cmp byte [0x6176c4], 0
jne 0x40da41
call fcn.00474a20
cmp byte [0x61405b], 0
jne 0x40dab5
mov ecx, dword [ebx + 0x14]
sub esp, 8
mov dword [ebp - 0xc], ecx
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x34]
call eax
mov edx, 0x3a0390
mov ecx, eax
call fcn.00423a20
mov esi, dword [ebx + 0x26c]
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x40da84
mov eax, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x10c]
call eax
mov ecx, dword [ebp - 0xc]
sub esp, 8
mov eax, dword [ecx]
push 2
mov eax, dword [eax + 0x34]
call eax
mov edx, 0x3a0778
mov ecx, eax
call fcn.00423a20
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x40dab5
mov eax, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x10c]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004372e0
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40daf7
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 8], eax
call edi
mov eax, dword [ebp - 8]
jmp 0x40db04
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 8], eax
mov edx, dword [eax]
mov ecx, eax
push dword [ebp - 0xc]
mov edx, dword [edx + 0x3c]
call edx
mov ecx, dword [ebp - 8]
push str.Iconized_Popup_Menu
mov eax, dword [ecx]
mov eax, dword [eax + 0x60]
call eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x60], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40db5f
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40db72
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0xb71b0
test ecx, ecx
je 0x40dbac
mov eax, dword [edx + 0xc]
push 0xb71b0
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x384
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40dbf6
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40dc06
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40dc4f
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40dc62
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x2dedd0
test ecx, ecx
je 0x40dc9c
mov eax, dword [edx + 0xc]
push 0x2dedd0
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x1f4
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40dcec
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40dcff
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x2df1b8
test ecx, ecx
je 0x40dd39
mov eax, dword [edx + 0xc]
push 0x2df1b8
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x1fe
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40dd83
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40dd93
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x60]
mov eax, dword [ecx]
mov eax, dword [eax + 0x88]
call eax
mov dword [ebx + 0x260], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40ddef
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40de02
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x39ffa8
test ecx, ecx
je 0x40de3c
mov eax, dword [edx + 0xc]
push 0x39ffa8
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x7da
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x26c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x104]
call eax
cmp eax, 1
jle 0x40deb7
mov edx, dword [ebx + 0x20]
mov ecx, 0x3a0390
push 0
push 0x7e4
call fcn.00424370
mov ecx, dword [ebx + 0x60]
mov edx, eax
add esp, 8
test edx, edx
je 0x40de8f
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 8]
call eax
mov edx, dword [ebx + 0x20]
mov ecx, 0x3a0778
push 0
push 0x7ee
call fcn.00424370
mov ecx, dword [ebx + 0x60]
mov edx, eax
add esp, 8
test edx, edx
je 0x40deb7
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x60]
mov eax, dword [ecx]
mov eax, dword [eax + 0x88]
call eax
dec eax
mov dword [ebx + 0x264], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40deff
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40df0f
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40df58
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40df6b
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x2de665
test ecx, ecx
je 0x40dfa5
mov eax, dword [edx + 0xc]
push 0x2de665
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], 0x44c
mov byte [edx + 0x18], 0
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40dfef
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40dfff
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, ebx
call fcn.0041dc60
mov ecx, dword [ebx + 0x60]
mov edx, eax
test edx, edx
je 0x40e026
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x38]
call eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40e062
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 8], ecx
call edi
mov edx, dword [ebp - 8]
jmp 0x40e071
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, eax
mov dword [edx + 8], eax
mov dword [edx + 0x10], 0x94cdc
test ecx, ecx
je 0x40e0ab
mov eax, dword [edx + 0xc]
push 0x94cdc
mov esi, dword [eax]
call fcn.00428bf0
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [ecx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 8]
mov al, byte [ebp - 0x45]
mov dword [edx + 0x14], 0x8c
mov byte [edx + 0x18], al
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
call fcn.004242d0
mov dword [ebp - 4], eax
add eax, 0x1c
push eax
call esi
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40e0f7
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov edx, dword [ebp - 0xc]
jmp 0x40e107
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call eax
mov edx, eax
mov byte [edx + 0x1a], 1
mov ecx, dword [ebx + 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x28]
call eax
test al, al
je 0x40e149
mov edx, dword [ebx + 0x20]
mov ecx, 0x1a644
push 0
push 0x2ac6
call fcn.00424370
add esp, 8
mov dword [ebp - 0x78], eax
jmp 0x40e150
mov dword [ebp - 0x78], 0
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x28]
call eax
test al, al
je 0x40e1b4
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40e1a1
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 8], edx
call edi
mov eax, dword [ebp - 8]
mov byte [eax + 0x1a], 1
jmp 0x40e1bb
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 8], eax
mov byte [eax + 0x1a], 1
jmp 0x40e1bb
mov dword [ebp - 8], 0
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40e1f7
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x38], edx
call edi
mov eax, dword [ebp - 0x38]
jmp 0x40e204
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0x10], 0x1a1f8
test ecx, ecx
je 0x40e23c
mov eax, dword [eax + 0xc]
push 0x1a1f8
mov esi, dword [eax]
call fcn.00428bf0
mov edx, dword [ebp - 0x38]
push eax
mov eax, dword [esi + 0x210]
mov ecx, dword [edx + 0xc]
call eax
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x38]
mov dword [eax + 0x14], 0x2a94
mov byte [eax + 0x18], 0
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40e27d
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x28], edx
call edi
mov eax, dword [ebp - 0x28]
jmp 0x40e28a
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x28], eax
mov byte [eax + 0x1a], 1
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc], eax
call fcn.004242d0
mov dword [ebp - 0x10], eax
add eax, 0x1c
push eax
mov dword [ebp - 4], eax
call esi
mov ecx, dword [ebp - 0x10]
push dword [ebp - 4]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x40e2ca