Function at 0x4ddba0
Capabilities:
Capture webcam image
Create process on windows
Get graphical window text
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x11c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x13c]
mov ebp, ecx
mov dword [edi], 0
call fcn.004e5490
mov ecx, dword [ebp + 0xf0]
mov esi, dword [esp + 0x134]
test ecx, ecx
mov ebx, eax
je 0x4ddbf1
mov eax, dword [esp + 0x138]
mov edx, dword [esp + 0x130]
push edi
push eax
push esi
push edx
call fcn.004a1bb0
cmp dword [edi], 0
jne 0x4dfa50
cmp esi, 0x8087
ja 0x4df871
je 0x4de652
cmp esi, 0x8059
ja 0x4de526
je 0x4de39f
cmp esi, 0x400
ja 0x4ddda1
je 0x4ddc65
sub esi, 0x6f
je 0x4ddc4a
dec esi
jne case.default.0x4df892
push 0x11
mov ecx, ebp
call fcn.004dfc60
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
push 0
mov ecx, ebp
call fcn.004dfc60
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
mov ecx, dword [ebp + 0xf0]
xor ebx, ebx
test ecx, ecx
je 0x4ddd92
call fcn.004a2500
mov ebx, eax
lea eax, [esp + 0xe8]
push eax
mov ecx, ebp
call fcn.004db5c0
xor edi, edi
cmp eax, edi
je 0x4ddc96
add eax, 4
jmp 0x4ddc98
xor eax, eax
mov ecx, dword [eax]
push ebx
push ecx
lea ecx, [esp + 0x30]
call fcn.00510f50
lea ecx, [esp + 0xe8]
call fcn.00510740
mov eax, dword [0x554e40]
lea esi, [esp + 0x28]
mov ebp, dword [sym.imp.SHELL32.dll_SHGetMalloc]
lea edx, [esp + 0x2c]
neg esi
sbb esi, esi
and esi, edx
cmp eax, edi
jne 0x4ddcd7
push 0x554e40
call ebp
jmp 0x4ddcdd
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [0x554e40]
mov ecx, dword [0x55ec8c]
mov dword [0x55ec8c], edi
push ecx
mov edx, dword [eax]
push eax
call dword [edx + 0x14]
mov eax, dword [0x554e40]
cmp eax, edi
je 0x4ddd14
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test eax, eax
jne 0x4ddd0f
mov dword [0x554e40], eax
jmp 0x4ddd14
mov eax, dword [0x554e40]
mov ecx, dword [esi]
mov dword [0x55ec8c], edi
cmp ecx, edi
je 0x4ddd89
cmp eax, edi
jne 0x4ddd2d
push 0x554e40
call ebp
jmp 0x4ddd33
mov edx, dword [eax]
push eax
call dword [edx + 4]
mov eax, dword [0x554e40]
mov edx, dword [esi]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov ebp, eax
mov eax, dword [esi]
cmp eax, edi
je 0x4ddd70
mov eax, dword [0x554e40]
push ebp
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov esi, dword [esi]
mov ecx, ebp
mov edx, ecx
mov edi, eax
shr ecx, 2
mov dword [0x55ec8c], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor edi, edi
mov eax, dword [0x554e40]
cmp eax, edi
je 0x4ddd89
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test eax, eax
jne 0x4ddd89
mov dword [0x554e40], edi
lea ecx, [esp + 0x28]
call fcn.00510740
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
cmp esi, 0x804a
jne case.default.0x4df892
mov edx, dword [ebp + 0x22c]
push 0
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x419
push edx
call esi
mov edx, dword [ebp + 0x22c]
lea ecx, [esp + 0xcc]
push ecx
push eax
push 0x41d
push edx
call esi
mov edx, dword [ebp + 0x22c]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
push 1
push 0x804a
push 0x403
push edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
call esi
mov ecx, dword [ebp + 0x22c]
lea eax, [esp + 0x4c]
push eax
push ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
xor edi, edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x24], edi
call fcn.004d8df0
mov edx, dword [0x547570]
push edi
lea eax, [esp + 0x18]
push edi
push eax
mov ecx, ebp
mov dword [esp + 0x20], edx
call fcn.004dc9f0
mov eax, dword [esp + 0x14]
cmp dword [eax - 8], edi
jne 0x4dde8f
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4dde77
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4dde77
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea ecx, [esp + 0x28]
call fcn.004d8e50
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
push edi
push eax
lea ecx, [esp + 0x38]
call fcn.00510fb0
lea eax, [esp + 0x30]
lea ecx, [esp + 0x34]
neg eax
sbb eax, eax
lea edx, [esp + 0x24]
and eax, ecx
lea ecx, [esp + 0x3c]
push edx
push ecx
mov eax, dword [eax]
lea ecx, [esp + 0x30]
push eax
call fcn.004d8e90
test al, al
je 0x4de33a
lea esi, [ebp + 0x61c]
mov ecx, esi
call fcn.0050e3e0
push 4
mov dword [ebp + 0x69c], ebp
mov dword [ebp + 0x668], 0xe0
call fcn.00532695
add esp, 4
cmp eax, edi
je 0x4ddef5
mov dword [eax], edi
mov edi, eax
mov ebx, dword [esp + 0x3c]
lea ecx, [esp + 0x54]
mov dword [esp + 0x48], 0
call fcn.00420cc0
test ebx, ebx
je 0x4ddf29
cmp word [ebx], 0
jne 0x4ddf29
mov eax, dword [0x555b44]
test eax, eax
mov dword [esp + 0x48], eax
je 0x4ddf41
mov edx, dword [eax]
push eax
call dword [edx + 4]
jmp 0x4ddf41
mov eax, dword [0x555b44]
lea edx, [esp + 0x48]
push edx
push 0x543354
mov ecx, dword [eax]
push 0
push ebx
push eax
call dword [ecx + 0x14]
lea ecx, [esp + 0x54]
call fcn.00424b60
mov ecx, edi
call fcn.0045ffc0
mov eax, dword [esp + 0x48]
mov ecx, edi
push eax
call fcn.00424b80
lea ecx, [esp + 0x48]
call fcn.0045ffc0
mov edx, dword [ebp + 4]
mov ecx, dword [0x55f52c]
mov dword [esp + 0x54], edx
lea eax, [esp + 0x54]
lea edx, [esp + 0xc4]
xor ebx, ebx
push eax
push edx
mov dword [esp + 0x60], ebx
call fcn.00484780
mov eax, dword [eax]
mov dword [eax + 0x10], esi
mov eax, dword [ebp + 0x67c]
cmp eax, ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
jne 0x4ddfbb
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov dword [ebp + 0x67c], eax
mov eax, dword [ebp + 0x67c]
push esi
push eax
call fcn.004e9400
mov ebx, dword [sym.imp.USER32.dll_AppendMenuW]
add esp, 8
test eax, eax
jle 0x4ddfe7
mov ecx, dword [ebp + 0x67c]
push 0
push 0
push 0x800
push ecx
call ebx
lea eax, [esp + 0x30]
mov ecx, dword [esp + 0x24]
neg eax
sbb eax, eax
lea edx, [esp + 0x34]
mov edi, dword [edi]
and eax, edx
push ecx
mov eax, dword [eax]
push eax
call dword [sym.imp.SHELL32.dll_ILClone]
push eax
push edi
mov ecx, esi
call fcn.0050ba10
mov edx, dword [ebp + 0x67c]
xor edi, edi
push edi
push edi
push 0x800
push edx
call ebx
mov dword [esp + 0x18], edi
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push esi
push 0x899
push ecx
mov dword [esp + 0x24], eax
mov ecx, esp
push str.Quick_Links
call fcn.00412590
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 0x67c]
push eax
push 0x10
push ecx
call fcn.004e91a0
add esp, 0x18
push esi
push 0x89a
push ecx
mov edx, esp
push 0x29
push edx
call fcn.004bd990
mov eax, dword [esp + 0x2c]
add esp, 8
push 0x8059
push edi
push eax
call fcn.004e91a0
add esp, 0x18
push esi
push 0x89b
push ecx
mov ecx, esp
push 0x2b
push ecx
call fcn.004bd990
mov edx, dword [esp + 0x2c]
add esp, 8
push 0x805b
push edi
push edx
call fcn.004e91a0
add esp, 0x18
push esi
push 0x89c
push ecx
mov eax, esp
push 0x88
push eax
call fcn.004bd990
mov ecx, dword [esp + 0x2c]
add esp, 8
push 0x805c
push edi
push ecx
call fcn.004e91a0
add esp, 0x18
push esi
push 0x89d
push ecx
mov edx, esp
push 0x2a
push edx
call fcn.004bd990
mov eax, dword [ebp + 0x67c]
add esp, 8
push 0x805a
push edi
push eax
call fcn.004e91a0
mov ecx, dword [ebp + 0x67c]
push ecx
call fcn.00486e10
mov eax, dword [ebp + 0x224]
mov edx, dword [ebp + 0x270]
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
add esp, 0x1c
mov dword [ebp + 0x640], edi
mov dword [ebp + 0x63c], edx
push edi
push eax
mov dword [ebp + 0x69c], ebp
call ebx
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
push edi
push 0x128
push ecx
push edx
push eax
mov ecx, esi
call fcn.0050c280
mov esi, eax
mov eax, dword [ebp + 0x628]
cmp eax, edi
je 0x4de155
mov esi, eax
mov ecx, dword [ebp + 0x224]
push 5
push ecx
call ebx
mov ecx, ebp
call fcn.004ec270
cmp esi, 0x898
jl 0x4de317
cmp esi, 0x1068
jge 0x4de317
mov edx, dword [ebp + 0x6a8]
xor eax, eax
test edx, edx
jle 0x4de317
mov ecx, dword [ebp + 0x6a0]
cmp dword [ecx], esi
je 0x4de1a6
inc eax
add ecx, 4
cmp eax, edx
jl 0x4de195
jmp 0x4de317
cmp eax, 0xffffffff
je 0x4de317
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x6a4]
mov ecx, dword [eax + edx*4]
lea esi, [eax + edx*4]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x84]
lea edx, [esi + 4]
push edx
call fcn.00405440
lea eax, [esi + 8]
lea ecx, [esp + 0x88]
push eax
call fcn.00405440
lea ecx, [esi + 0xc]
push ecx
lea ecx, [esp + 0x90]
call fcn.00405440
add esi, 0x10
lea ecx, [esp + 0x90]
push esi
call fcn.00405440
mov edx, dword [0x547570]
mov eax, str.WREWTEWTSFSDFSADSF
test eax, eax
mov dword [esp + 0x38], edx
je 0x4de252
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
test esi, esi
je 0x4de252
push esi
lea ecx, [esp + 0x3c]
call fcn.00405530
test eax, eax
je 0x4de252
mov ecx, dword [esp + 0x38]
inc esi
push esi
push str.WREWTEWTSFSDFSADSF
push ecx
call fcn.00405400
add esp, 0xc
lea ecx, [esp + 0x38]
push 0xffffffffffffffff
call fcn.00405bb0
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x88]
push edx
push eax
call fcn.005322f9
mov edx, dword [0x547574]
add esp, 8
test eax, eax
mov eax, dword [esp + 0x38]
sete bl
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4de29b
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4de29b
mov edx, dword [esp + 0x38]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
test bl, bl
je 0x4de2c3
mov eax, dword [esp + 0x84]
push 0
push eax
call fcn.0053232e
mov ecx, dword [ebp + 4]
add esp, 4
push eax
push 0x111
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4de2e7
mov edx, dword [ebp + 0x628]
lea eax, [esp + 0x80]
push edx
sub esp, 0x14
mov ecx, esp
push eax
call fcn.004a7750
mov ecx, dword [ebp + 0xf0]
call fcn.004a79b0
lea ecx, [esp + 0x90]
call fcn.00405700
lea ecx, [esp + 0x8c]
call fcn.00405700
lea ecx, [esp + 0x88]
call fcn.00405700
lea ecx, [esp + 0x84]
call fcn.00405700
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4de328
lea ecx, [esp + 0x18]
call fcn.00447300
lea ecx, [esp + 0xdc]
call fcn.004aec80
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x30]
call fcn.00510740
mov eax, dword [esp + 0x14]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4de372
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4de372
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea ecx, [esp + 0x28]
call fcn.004d8e50
mov eax, dword [ebp + 0x22c]
push 0
push 0x804a
push 0x403
push eax
call esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
mov ecx, dword [0x547570]
push 0
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], ecx
push 0
push edx
mov ecx, ebp
call fcn.004dc9f0
mov eax, dword [0x55b29c]
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, 5
jae 0x4de3e6
mov eax, dword [esp + 0x18]
push 5
push 0
push 0
push eax
push str.explore
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x4de4e4
lea ecx, [esp + 0xf0]
call fcn.0052a550
mov ecx, dword [esp + 0x18]
push 0
push ecx
lea ecx, [esp + 0x30]
call fcn.00510fb0
lea eax, [esp + 0x28]
mov ecx, dword [0x547570]
neg eax
sbb eax, eax
lea edx, [esp + 0x2c]
and eax, edx
mov edx, 0x554e0c
test edx, edx
mov eax, dword [eax]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x124], eax
je 0x4de47d
mov eax, edx
shr eax, 0x10
jne 0x4de444
xor ecx, ecx
mov cx, dx
push ecx
lea ecx, [esp + 0x18]
call fcn.00413ae0
jmp 0x4de47d
push 0x554e0c
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
test esi, esi
je 0x4de47d
push esi
lea ecx, [esp + 0x18]
call fcn.00405530
test eax, eax
je 0x4de47d
mov edi, dword [esp + 0x14]
lea ecx, [esi + esi]
mov eax, ecx
mov esi, 0x554e0c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
push ecx
push 0x4000
push ecx
mov ecx, esp
push 0x5494a4
call fcn.00412590
mov edx, dword [ebp + 4]
lea ecx, [esp + 0xfc]
push edx
call fcn.0052a5e0
mov eax, dword [esp + 0x14]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4de4cf
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4de4cf
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea ecx, [esp + 0x28]
call fcn.00510740
lea ecx, [esp + 0xf0]
call fcn.0052a5a0
mov eax, dword [esp + 0x18]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je case.default.0x4df892
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg case.default.0x4df892
mov edx, dword [esp + 0x18]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
add esi, 0xffff7fa6
cmp esi, 0xf
ja case.default.0x4df892
xor eax, eax
mov al, byte [esi + 0x4dfa74]
jmp dword [eax*4 + 0x4dfa60]
mov ecx, ebp
call fcn.004dd170
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
mov ecx, dword [0x547570]
push 0
lea edx, [esp + 0x24]
mov dword [esp + 0x24], ecx
push 0
push edx
mov ecx, ebp
call fcn.004dc9f0
push 0
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
push eax
call fcn.00405440
mov ecx, ebp
call fcn.004e3a50
mov eax, dword [esp + 0x20]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4dfa4b
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4dfa4b
mov edx, dword [esp + 0x20]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
mov ecx, dword [ebp + 0xf0]
push 0x8069
call fcn.004a6dd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
mov eax, dword [0x547570]
push 0
lea ecx, [esp + 0x20]
push 1
push ecx
mov ecx, ebp
mov dword [esp + 0x28], eax
call fcn.004dc9f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je case.default.0x4df892
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg case.default.0x4df892
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
mov ecx, ebp
call fcn.004e0b40
mov ecx, dword [ebp + 0x220]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x8087
push 0x419
push ecx
call esi
lea edx, [esp + 0xcc]
push edx
push eax
mov eax, dword [ebp + 0x220]
push 0x41d
push eax
call esi
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp + 0x220]
lea eax, [esp + 0x28]
mov dword [esp + 0x2c], edx
push eax
push ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
call dword [sym.imp.USER32.dll_CreatePopupMenu]
lea edx, [esp + 0xa4]
mov edi, eax
push 0x36
push edx
mov dword [esp + 0x28], edi
call fcn.004bd990
mov eax, dword [eax]
add esp, 8
mov esi, dword [sym.imp.USER32.dll_AppendMenuW]
push eax
mov eax, dword [ebp + 0x210]
neg eax
sbb eax, eax
push 1
and al, 0xf8
add eax, 8
push eax
push edi
call esi
mov eax, dword [esp + 0xa4]
mov edx, dword [0x547574]
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4de726
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4de726
mov edx, dword [esp + 0xa4]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea eax, [esp + 0xc0]
push 0x37
push eax
call fcn.004bd990
mov ecx, dword [ebp + 0x20c]
mov eax, dword [eax]
add esp, 8
neg ecx
sbb ecx, ecx
push eax
and ecx, 8
push 2
push ecx
push edi
call esi
mov eax, dword [esp + 0xc0]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4de77f
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4de77f
mov eax, dword [esp + 0xc0]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
lea ecx, [esp + 0xac]
push 0x38
push ecx
call fcn.004bd990
mov edx, dword [ebp + 0x208]
mov eax, dword [eax]
add esp, 8
neg edx
sbb edx, edx
push eax
and edx, 8
push 3
push edx
push edi
call esi
mov eax, dword [esp + 0xac]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4de7d8
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4de7d8
mov edx, dword [esp + 0xac]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea eax, [esp + 0xa0]
push 0x9e
push eax
call fcn.004bd990
mov ecx, dword [ebp + 0x218]
mov eax, dword [eax]
add esp, 8
neg ecx
sbb ecx, ecx
push eax
and ecx, 8
push 4
push ecx
push edi
call esi
mov eax, dword [esp + 0xa0]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4de834
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4de834
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
push 0x554e08
push 0
push 0x800
push edi
call esi
lea ecx, [esp + 0xb8]
push 0x39
push ecx
call fcn.004bd990
mov eax, dword [eax]
add esp, 8
push eax
push 0x805e
push 0
push edi
call esi
mov eax, dword [esp + 0xb8]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4de893
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4de893
mov eax, dword [esp + 0xb8]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
lea ecx, [esp + 0xbc]
push 0x87
push ecx
call fcn.004bd990
mov eax, dword [eax]
add esp, 8
push eax
push 0xe120
push 0
push edi
call esi
mov eax, dword [esp + 0xbc]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4de8e6
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4de8e6
mov eax, dword [esp + 0xbc]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
lea ecx, [esp + 0x3c]
push 0x9c41
push ecx
call fcn.004bd990
mov eax, dword [0x547570]
add esp, 8
mov dword [esp + 0x18], eax
mov ecx, 0x800
mov edx, dword [eax - 0xc]
lea ebx, [eax - 0xc]
cmp edx, 1
jg 0x4de916
cmp dword [eax - 4], ecx
jge 0x4de979
mov eax, dword [eax - 8]
cmp eax, 0x800
mov dword [esp + 0x24], eax
jle 0x4de926
mov ecx, eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00405530
test eax, eax
je 0x4de979
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
lea esi, [ebx + 0xc]
lea ecx, [eax + eax + 2]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [ecx - 8], eax
mov eax, dword [0x547574]
cmp ebx, eax
je 0x4de975
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4de975
push ebx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 0x264]
push 0x800
push eax
push edx
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea ecx, [esp + 0x18]
call fcn.004055c0
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x18]
xor esi, esi
mov edi, dword [esp + 0x20]
mov dword [ecx - 8], eax
mov edx, dword [esp + 0x18]
mov word [edx + eax*2], si
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx - 8]
push eax
neg edx
sbb edx, edx
push 0x40
and edx, 0xfffffffd
add edx, 3
or dh, 4
push edx
push esi
push edi
call dword [sym.imp.USER32.dll_InsertMenuW]
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push str.Fav_Filter
push 0x547afc
call fcn.0048eb00
add esp, 0x14
cmp eax, esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], esi
jle 0x4df002
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov ecx, esi
mov eax, dword [0x547570]
push ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x48], eax
lea eax, [esp + 0x48]
push 0x548b44
push eax
call fcn.00405cb0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
push ecx
push edx
lea eax, [esp + 0xc8]
push str.Fav_Filter
push eax
call fcn.0048ee40
mov ecx, dword [esp + 0x2c]
mov esi, eax
add esp, 0x1c
mov eax, dword [esi]
cmp ecx, eax
je 0x4dea9c
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x4dea6c
mov edx, dword [0x547574]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4dea73
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4dea83
mov ecx, dword [eax - 8]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00405870
jmp 0x4dea9c
lea ecx, [esp + 0x10]
call fcn.004124c0
mov esi, dword [esi]
mov dword [esp + 0x10], esi
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0xb4]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4deacd
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4deacd
mov eax, dword [esp + 0xb4]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
mov ecx, dword [esp + 0x10]
push 0x5c
push 3
lea edx, [esp + 0x48]
push ecx
push edx
call fcn.005190f0
add esp, 0x10
test eax, eax
je 0x4def38
lea eax, [esp + 0x80]
mov ecx, 7
mov edx, dword [0x547570]
mov dword [eax], edx
add eax, 4
dec ecx
jne 0x4deaf7
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
xor edi, edi
lea esi, [esp + 0x80]
mov ecx, dword [esp + 0x10]
mov eax, dword [0x547570]
push 0x5c
push edi
lea edx, [esp + 0x1c]
push ecx
push edx
mov dword [esp + 0x24], eax
call fcn.005190f0
mov eax, dword [esi]
mov ecx, dword [esp + 0x24]
add esp, 0x10
cmp eax, ecx
je 0x4deb80
mov edx, dword [eax - 0xc]
test edx, edx
jge 0x4deb50
mov edx, dword [0x547574]
add eax, 0xfffffff4
cmp eax, edx
jne 0x4deb57
mov eax, dword [ecx - 0xc]
test eax, eax
jge 0x4deb65
mov eax, dword [ecx - 8]
push ecx
push eax
mov ecx, esi
call fcn.00405870
jmp 0x4deb7c
mov ecx, esi
call fcn.004124c0
mov eax, dword [esp + 0x14]
mov dword [esi], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x547574]
lea edx, [ecx - 0xc]
cmp edx, eax
je 0x4deba6
add ecx, 0xfffffff4
push ecx
call ebx
test eax, eax
jg 0x4deba6
mov eax, dword [esp + 0x14]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
inc edi
add esi, 4
cmp edi, 3
jl 0x4deb14
mov ecx, dword [0x547570]
mov edx, 0x54833c
test edx, edx
mov dword [esp + 0x14], ecx
jne 0x4debd0
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
xor eax, eax
jmp 0x4debdd
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x54833c
call esi
push 0x54833c
push eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.004059f0
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x64]
call fcn.00405440
lea ecx, [esp + 0x14]
call fcn.00405700
mov edx, dword [0x547570]
mov eax, 0x547f14
test eax, eax
mov dword [esp + 0x7c], edx
je 0x4dec26
push 0x547f14
call esi
push 0x547f14
push eax
mov eax, dword [esp + 0x68]
push eax
mov ecx, dword [eax - 8]
push ecx
lea ecx, [esp + 0x8c]
call fcn.004059f0
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x5c]
push edx
call fcn.00405440
lea ecx, [esp + 0x7c]
call fcn.00405700
mov eax, dword [0x547570]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x80]
push eax
mov ecx, dword [eax - 8]
mov eax, dword [esp + 0x60]
push ecx
push eax
mov edx, dword [eax - 8]
lea ecx, [esp + 0x7c]
push edx
call fcn.004059f0
lea eax, [esp + 0x70]
lea ecx, [esp + 0x78]
push eax
call fcn.00405440
lea ecx, [esp + 0x70]
call fcn.00405700
mov ecx, dword [0x547570]
mov edx, 0x547f14
test edx, edx
mov dword [esp + 0x64], ecx
jne 0x4decad
xor eax, eax
jmp 0x4decb4
push 0x547f14
call esi
push 0x547f14
push eax
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x6c]
push eax
mov eax, dword [eax - 8]
push eax
call fcn.004059f0
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x6c]
call fcn.00405440
lea ecx, [esp + 0x64]
call fcn.00405700
mov edx, dword [0x547570]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x6c], edx
push eax
mov eax, dword [eax - 8]
push eax
mov eax, dword [esp + 0x70]
push eax
mov ecx, dword [eax - 8]
push ecx
lea ecx, [esp + 0x7c]
call fcn.004059f0
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x74]
push edx
call fcn.00405440
lea ecx, [esp + 0x6c]
call fcn.00405700
mov eax, dword [0x547570]
mov ecx, 0x547f14
test ecx, ecx
mov dword [esp + 0xc4], eax
jne 0x4ded3e
xor eax, eax
jmp 0x4ded45
push 0x547f14
call esi
push 0x547f14
push eax
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0xcc]
push eax
mov edx, dword [eax - 8]
push edx
call fcn.004059f0
lea eax, [esp + 0xc4]
lea ecx, [esp + 0x9c]
push eax
call fcn.00405440
lea ecx, [esp + 0xc4]
call fcn.00405700
mov ecx, dword [0x547570]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x4c], ecx
push eax
mov edx, dword [eax - 8]
mov eax, dword [esp + 0xa0]
push edx
push eax
mov eax, dword [eax - 8]
lea ecx, [esp + 0x58]
push eax
call fcn.004059f0
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x58]
call fcn.00405440
lea ecx, [esp + 0x4c]
call fcn.00405700
mov eax, dword [esp + 0x9c]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4dedf3
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4dedf3
mov eax, dword [esp + 0x9c]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x74]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4dee1e
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4dee1e
mov edx, dword [esp + 0x74]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x68]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4dee49
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4dee49
mov edx, dword [esp + 0x68]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x78]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4dee74
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4dee74
mov edx, dword [esp + 0x78]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x5c]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4dee9f
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4dee9f
mov edx, dword [esp + 0x5c]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x60]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4deeca
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4deeca
mov edx, dword [esp + 0x60]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
add ecx, 0x3e8
push eax
push ecx
push 0x400
push esi
push edx
call dword [sym.imp.USER32.dll_InsertMenuW]
mov eax, dword [esp + 0x54]
mov edx, dword [0x547574]
inc esi
lea ecx, [eax - 0xc]
mov dword [esp + 0x24], esi
cmp ecx, edx
je 0x4def1f
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4def1f
mov edx, dword [esp + 0x54]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea esi, [esp + 0x9c]
mov edi, 7
sub esi, 4
mov ecx, esi
call fcn.00405700
dec edi
jne 0x4def2b
mov eax, dword [esp + 0x44]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4def6b
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4def71
mov edx, dword [esp + 0x44]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
jmp 0x4def71
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, dword [esp + 0x10]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4def9c
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4def9c
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x40]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4defc7
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4defc7
mov edx, dword [esp + 0x40]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
inc ecx
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jl 0x4dea0c
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4deffe
mov edi, dword [esp + 0x20]
push 0x554e08
push 0
push 0xc00
push eax
push edi
call dword [sym.imp.USER32.dll_InsertMenuW]
jmp 0x4df002
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 0x220]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push 0x8087
push 0x403
push eax
call ebx
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0x50]
push 0x12a
push edx
push eax
push edi
call fcn.0052bba0
mov ecx, dword [ebp + 0x220]
push 0
push 0x8087
push 0x403
push ecx
mov esi, eax
call ebx
test esi, esi
je 0x4df7f5
cmp esi, 3
jne 0x4df071
mov eax, dword [ebp + 0x208]
xor edx, edx
test eax, eax
sete dl
mov dword [ebp + 0x208], edx
jmp 0x4df0f1
cmp esi, 4
jne 0x4df08b
mov ecx, dword [ebp + 0x218]
xor eax, eax
test ecx, ecx
sete al
mov dword [ebp + 0x218], eax
jmp 0x4df0f1
cmp esi, 2
jne 0x4df0a5
mov eax, dword [ebp + 0x20c]
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp + 0x20c], ecx
jmp 0x4df0f1
cmp esi, 1
jne 0x4df0bf
mov eax, dword [ebp + 0x210]
xor edx, edx
test eax, eax
sete dl
mov dword [ebp + 0x210], edx
jmp 0x4df0f1
cmp esi, 0x805e
jne 0x4df0d7
mov eax, dword [ebp + 4]
push 0
push esi
push 0x111
push eax
call ebx
jmp 0x4df0f1
cmp esi, 0xe120
jne 0x4df0f1
mov ecx, dword [ebp + 0x264]
push 0x554e08
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, ebp
call fcn.004e50e0
push 0
mov ecx, ebp
call fcn.004eadc0
mov ecx, ebp
call fcn.004e5430
cmp esi, 0x40
jne 0x4df392
mov eax, dword [0x547570]
mov ecx, 0x800
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
mov edx, dword [eax - 0xc]
lea ebx, [eax - 0xc]
cmp edx, 1
jg 0x4df133
cmp dword [eax - 4], ecx
jge 0x4df196
mov eax, dword [eax - 8]
cmp eax, 0x800
mov dword [esp + 0x30], eax
jle 0x4df143
mov ecx, eax
push ecx
lea ecx, [esp + 0x14]
call fcn.00405530
test eax, eax
je 0x4df196
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x10]
lea esi, [ebx + 0xc]
lea ecx, [eax + eax + 2]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov dword [ecx - 8], eax
mov eax, dword [0x547574]
cmp ebx, eax
je 0x4df192
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4df192
push ebx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0x264]
push 0x800
push eax
push edx
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea ecx, [esp + 0x10]
call fcn.004055c0
mov eax, dword [esp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
call edi
mov ecx, dword [esp + 0x10]
push ecx
mov dword [ecx - 8], eax
mov edx, dword [esp + 0x14]
mov esi, esp
mov word [edx + eax*2], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x4df1f0
mov dword [esi], eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x4df20e
mov ecx, dword [0x547570]
mov dword [esi], ecx
mov eax, dword [esp + 0x14]
test eax, eax
mov ebx, eax
je 0x4df205
push eax
call edi
push ebx
push eax
mov ecx, esi
call fcn.00405870
lea edx, [esp + 0xac]
mov ecx, ebp
push edx
call fcn.004eb0e0
mov ecx, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esi]
cmp ecx, eax
je 0x4df26d
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x4df23d
mov edx, dword [0x547574]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4df244
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4df254
push eax
mov eax, dword [eax - 8]
push eax
lea ecx, [esp + 0x18]
call fcn.00405870
jmp 0x4df26d
lea ecx, [esp + 0x10]
call fcn.004124c0
mov esi, dword [esi]
mov dword [esp + 0x10], esi
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0xa8]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4df2a2
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4df2a2
mov edx, dword [esp + 0xa8]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4df333
mov ebx, dword [ebp + 0x210]
mov ecx, dword [ebp + 0x20c]
push eax
mov eax, dword [ebp + 0x208]
xor edx, edx
push eax
test ebx, ebx
sete dl
push ecx
push edx
lea eax, [esp + 0x2c]
push str._d_d_d_s
push eax
call fcn.00405cb0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push str.Fav_Filter
push 0x547afc
call fcn.0048eb00
add esp, 0x2c
mov esi, eax
lea ecx, [esp + 0x10]
push esi
push 0x548b44
push ecx
call fcn.00405cb0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
push 0
push edx
push eax
push str.Fav_Filter
call fcn.0048ee10
inc esi
push 0
push esi
push str.Fav_Filter
push 0x547afc
call fcn.0048ea80
add esp, 0x2c
mov eax, dword [esp + 0x1c]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4df362
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4df362
mov edx, dword [esp + 0x1c]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4df795
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4df795
mov edx, dword [esp + 0x10]
jmp 0x4df789
cmp esi, 0x3e8
jl 0x4df795
cmp esi, 0x4b0
jg 0x4df795
mov eax, dword [0x547570]
add esi, 0xfffffc18
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
push esi
lea eax, [esp + 0x20]
push 0x548b44
push eax
call fcn.00405cb0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push ecx
push edx
lea eax, [esp + 0xc4]
push str.Fav_Filter
push eax
call fcn.0048ee40
mov edi, eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
mov esi, dword [edi]
cmp eax, esi
je 0x4df467
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4df40c
mov ecx, dword [0x547574]
add eax, 0xfffffff4
cmp eax, ecx
jne 0x4df413
mov eax, dword [esi - 0xc]
test eax, eax
jge 0x4df44e
mov ebx, dword [esi - 8]
lea ecx, [esp + 0x10]
push ebx
call fcn.00405660
test eax, eax
je 0x4df467
mov edi, dword [esp + 0x10]
lea eax, [ebx + ebx]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov dword [ecx - 8], ebx
mov edx, dword [esp + 0x10]
mov word [edx + eax], 0
jmp 0x4df467
lea ecx, [esp + 0x10]
call fcn.004124c0
mov edi, dword [edi]
mov dword [esp + 0x10], edi
add edi, 0xfffffff4
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0xb0]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4df49c
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4df49c
mov edx, dword [esp + 0xb0]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
lea eax, [esp + 0x80]
mov ecx, 7
mov edx, dword [0x547570]
mov dword [eax], edx
add eax, 4
dec ecx
jne 0x4df4a8
xor edi, edi
lea ebx, [esp + 0x80]
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [0x547570]
push 0x5c
push edi
lea edx, [esp + 0x1c]
push ecx
push edx
mov dword [esp + 0x24], eax
call fcn.005190f0
mov ecx, dword [ebx]
mov eax, dword [esp + 0x24]
add esp, 0x10
cmp ecx, eax
je 0x4df570
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x4df503
mov edx, dword [0x547574]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4df50a
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4df555
mov esi, eax
mov eax, dword [eax - 8]
push eax
mov ecx, ebx
mov dword [esp + 0x34], eax
call fcn.00405660
test eax, eax
je 0x4df56c
mov eax, dword [esp + 0x30]
mov edi, dword [ebx]
lea ecx, [eax + eax]
mov dword [esp + 0x30], ecx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx]
mov edi, dword [esp + 0x24]
mov dword [ecx - 8], eax
mov edx, dword [ebx]
mov eax, dword [esp + 0x30]
mov word [edx + eax], 0
mov eax, dword [esp + 0x14]
jmp 0x4df570
mov ecx, ebx
call fcn.004124c0
mov eax, dword [esp + 0x14]
mov dword [ebx], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x14]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4df59b
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4df59b
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
inc edi
add ebx, 4
cmp edi, 4
mov dword [esp + 0x24], edi
jl 0x4df4c3
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4df6ff
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0053232e
mov edx, dword [esp + 0x88]
neg eax
sbb eax, eax
push edx
inc eax
mov dword [ebp + 0x210], eax
call fcn.0053232e
mov dword [ebp + 0x20c], eax
mov eax, dword [esp + 0x90]
push eax
call fcn.0053232e
lea ebx, [ebp + 0x21c]
mov dword [ebp + 0x208], eax
mov eax, dword [esp + 0x98]
add esp, 0xc
mov ecx, dword [ebx]
cmp ecx, eax
je 0x4df684
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x4df626
mov edx, dword [0x547574]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4df62d
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4df66a
mov edi, dword [eax - 8]
mov ecx, ebx
push edi
mov esi, eax
mov dword [esp + 0x34], edi
call fcn.00405660
test eax, eax
je 0x4df684
lea eax, [edi + edi]
mov edi, dword [ebx]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x30]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx]
mov dword [ecx - 8], edx
mov ecx, dword [ebx]
mov word [ecx + eax], 0
jmp 0x4df684
mov ecx, ebx
call fcn.004124c0
mov eax, dword [esp + 0x8c]
mov dword [ebx], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [ebp + 0xf0]
mov dword [ebp + 0x214], 1
mov edx, dword [ebp + 0x208]
add eax, 0x164
mov dword [eax], edx
mov ecx, dword [ebp + 0x20c]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x210]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0x214]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x218]
lea ecx, [ebp + 0x21c]
mov dword [eax + 0x10], edx
push ecx
lea ecx, [eax + 0x14]
call fcn.00412800
mov edx, dword [esp + 0x8c]
mov eax, dword [ebp + 0x264]
push edx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [ebp + 0x214]
push 0
push 0
push ecx
mov ecx, dword [ebp + 0xf0]
call fcn.004a8a50
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea esi, [esp + 0x9c]
mov ebx, 7
mov eax, dword [esi - 4]
mov ecx, dword [0x547574]
sub esi, 4
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4df73c
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4df73c
mov eax, dword [esi]
sub eax, 0xc
push eax
call fcn.00532222
add esp, 4
dec ebx
jne 0x4df711
mov eax, dword [esp + 0x10]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4df76a
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4df76a
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x1c]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4df795
add eax, 0xfffffff4
push eax
call edi
test eax, eax
jg 0x4df795
mov edx, dword [esp + 0x1c]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [ebp + 0xf0]
mov ecx, dword [ebp + 0x208]
add eax, 0x164
mov dword [eax], ecx
mov edx, dword [ebp + 0x20c]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 0x210]
mov dword [eax + 8], ecx
mov edx, dword [ebp + 0x214]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp + 0x218]
lea edx, [ebp + 0x21c]
mov dword [eax + 0x10], ecx
push edx
lea ecx, [eax + 0x14]
call fcn.00412800
mov eax, dword [ebp + 0x264]
push 0x105
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4df824
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4df824
mov edx, dword [esp + 0x18]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x3c]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4df853
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4df853
mov edx, dword [esp + 0x3c]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
test edi, edi
je case.default.0x4df892
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
cmp esi, 0xa773
ja 0x4df971
je 0x4df92d
add esi, 0xffff7b75
cmp esi, 3
ja case.default.0x4df892
jmp dword [esi*4 + 0x4dfa84]
push 0
push 0x7029
push 0x111
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
push 0
push 0x702a
push 0x111
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
push 0
push 0x702b
push 0x111
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
push 0
push 0x702c
push 0x111
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
mov ecx, dword [ebp + 0x420]
xor eax, eax
test ecx, ecx
sete al
push 0
mov dword [ebp + 0x420], eax
push eax
mov eax, dword [ebp + 0x40]
push str.show_tree
push eax
call fcn.0048ea80
mov ecx, dword [ebp + 0x420]
add esp, 0x10
push ecx
mov ecx, ebp
call fcn.004ed820
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
sub esi, 0xa775
je 0x4dfa38
sub esi, 0x10a92
je 0x4df99d
sub esi, 2
jne case.default.0x4df892
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
mov ecx, dword [ebp + 4]
mov edx, dword [0x547570]
lea eax, [esp + 0x20]
mov dword [esp + 0x20], edx
push eax
push 1
push 0
push ecx
call fcn.004e5500
add esp, 0x10
test eax, eax
mov eax, dword [esp + 0x20]
jne 0x4df9fe
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je case.default.0x4df892
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg case.default.0x4df892
mov eax, dword [esp + 0x20]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je case.default.0x4df892
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg case.default.0x4df892
mov edx, dword [esp + 0x20]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10
push 1
mov ecx, ebp
call fcn.004eb440
test eax, eax
je 0x4dfa4b
mov dword [edi], 1
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x10