Function at 0x467acb
Capabilities:
Delete directory
Extract resource via kernel32 functions
Get file system object information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x280
push esi
push edi
push 2
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x104]
pop esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x52d0da0b
push esi
mov dword [esp + 0x34], edx
call fcn.00432a80
mov dword [esp + 0x18], 0xfffffff9
xor eax, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x24], 0xd8ff8cd3
mov dword [esp + 0x2c], 0x2c5d177c
mov dword [esp + 0xc], eax
jmp 0x467b39
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x4c], 0xe187
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x467b29
push 4
mov dword [esp + 0x10], eax
pop edx
jmp 0x467b57
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x268], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x467b48
mov dword [esp + 0xc], eax
jmp 0x467b75
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x100]
mov dword [ecx + edx*4], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x467b63
mov ecx, dword [esp + 0x4c]
xor edx, edx
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
cmp ecx, 0x1c3a
mov dword [esp + 0x268], ecx
mov ecx, dword [esp + 0x20]
setge dl
sub ecx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x100]
push 0
cmp dword [ecx + 4], 0xace4b0ad
mov ecx, dword [esp + 0x24]
sbb edx, edx
neg edx
cmp edx, ecx
pop ecx
setle cl
sub ecx, dword [esp + 0x50]
neg ecx
push 0
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp ecx, edx
pop ecx
setne cl
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
mov ecx, dword [esp + 0x100]
push 0
pop edx
setne dl
xor edi, edi
inc edi
cmp edx, dword [ecx]
je 0x467c08
cmp dword [esp + 0x4c], eax
je 0x467c08
mov eax, edi
lea ecx, [esp + 0x100]
mov dword [esp + 0x24], eax
call fcn.00432b52
mov eax, dword [0xaae804]
test al, 1
jne 0x467ca5
or eax, edi
mov dword [0xaae804], eax
xor eax, eax
push eax
push eax
mov dword [0xaae830], eax
mov dword [0xaae834], eax
call fcn.004041f6
mov ecx, eax
mov dword [0xaae84c], 0x3f800000
mov dword [0xaae830], ecx
xor eax, eax
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0xec]
push ecx
push 0x10
push eax
mov dword [0xaae838], eax
mov ecx, 0xaae838
mov dword [0xaae840], eax
mov dword [0xaae83c], eax
lea eax, [esp + 0x1f4]
push eax
call fcn.00403f2c
push 0x4b3e73
mov dword [0xaae844], 7
mov dword [0xaae848], 8
call fcn.0049011f
pop ecx
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x20], 0xfffffffc
mov dword [esp + 0x20], 0xd4e70302
mov dword [esp + 0x20], 5
push 3
call fcn.00432a80
mov dword [esp + 0x20], 0x3876a47c
xor eax, eax
mov dword [esp + 0x24], 0xfc2e607d
mov dword [esp + 0x18], eax
jmp 0x467cfa
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c4]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x467ce7
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x1c4]
mov dword [esi + 4], edx
test edx, edx
je 0x467d22
mov ecx, 0x8c38ec32
cmp ecx, edx
sbb ecx, ecx
neg ecx
cmp ecx, edx
je 0x467d24
mov edi, eax
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
cmp ecx, edi
setge dl
imul edx, dword [esp + 0x1c]
test edx, edx
je 0x467d5c
cmp dword [esi + 4], eax
je 0x467d5c
xor edi, edi
inc edi
mov edx, edi
jmp 0x467d61
xor edi, edi
mov edx, eax
inc edi
mov ecx, dword [esp + 0x1c]
add edx, 0xc254
cmp edx, ecx
push 0
pop ecx
setge cl
add ecx, dword [esp + 0x1c]
neg ecx
jne 0x467d83
mov ecx, eax
cmp dword [esp + 0x1c], eax
je 0x467d85
mov ecx, edi
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x1c], eax
je 0x467d96
mov ecx, edi
cmp dword [esi + 4], eax
jne 0x467d98
mov ecx, eax
mov eax, 0xf2c2
sub eax, ecx
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
call fcn.00432b52
imul eax, dword [esp + 0x34], 0x2710
add eax, dword [esp + 0x30]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
push eax
call fcn.0046991a
mov esi, dword [eax]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x20], 5
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], eax
jmp 0x467e07
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x6c], 0x7528ace4
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x467df7
mov dword [esp + 0xc], eax
jmp 0x467e26
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x1e0], 0xf4c6f444
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x467e13
mov dword [esp + 0xc], eax
jmp 0x467e46
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x248], 0x1804
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x467e33
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
cmp edx, ecx
push 0
pop ecx
setl cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1e4]
cmp dword [esp + 0x24c], 0x99f2dc87
mov ecx, dword [esp + 0x24]
sbb edx, edx
neg edx
add ecx, edx
je 0x467e9e
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x467f32
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
jmp 0x467f32
mov dword [esp + 0x20], 0xfffffffa
mov dword [esp + 0x1c], 0xfffffffc
cmp dword [esp + 0x1c], 0xffffffe4
je 0x467f32
push 4
pop esi
push 3
lea ecx, [esp + 0x1bc]
call fcn.00432a80
mov dword [esp + 0x18], 0
jmp 0x467ee6
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1b8]
mov dword [eax + ecx*4], 0xfc518f82
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x467ed0
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1b8]
mov edx, dword [eax + 8]
cmp edx, esi
setge cl
xor eax, eax
add ecx, 0x576dbd8d
cmp ecx, edx
lea ecx, [esp + 0x1b8]
setl al
mov dword [esp + 0x24], eax
call fcn.00432b52
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xffffffe4
jne 0x467eb8
mov esi, dword [esp + 0x14]
test esi, esi
je 0x468406
push 2
lea ecx, [esp + 0x11c]
call fcn.00432a80
push 2
lea ecx, [esp + 0xbc]
call fcn.00432a80
xor eax, eax
mov dword [esp + 0x20], 7
mov dword [esp + 0xc], eax
jmp 0x467f78
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x118]
mov dword [ecx + edx*4], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x467f66
mov dword [esp + 0xc], eax
jmp 0x467f9b
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + edx*4], 0x69a22db7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x467f85
mov dword [esp + 0xc], eax
jmp 0x467fb8
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x70], 0xfff6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x467fa8
mov dword [esp + 0xc], eax
jmp 0x467fd5
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x38], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x467fc5
mov ecx, dword [esp + 0x118]
mov edx, dword [ecx]
test edx, edx
je 0x467fef
cmp dword [ecx + 4], eax
mov ecx, edi
jne 0x467ff1
mov ecx, eax
cmp edx, ecx
jle 0x468003
mov ecx, dword [esp + 0xb8]
mov dword [ecx], eax
jmp 0x4681ef
mov dword [esp + 0xc], 0xfffffff8
lea ecx, [esp + 0x84]
push 2
call fcn.00432a80
mov dword [esp + 0x24], 0xb26d8f9c
xor eax, eax
mov dword [esp + 0x20], 0xec6ea3d8
mov dword [esp + 0x1c], 0xfffffff7
mov dword [esp + 0x28], 0xfffc
mov dword [esp + 0x18], eax
jmp 0x468057
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x84]
mov dword [ecx + edx*4], 0x376fbfcc
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x468041
mov ecx, dword [esp + 0xc]
xor edx, edx
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x118]
mov ecx, dword [esp + 0x84]
push 0
cmp dword [edi + 4], 0x3ee67684
setl dl
mov dword [ecx], edx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x28], 0xfffffffe
sbb ecx, ecx
inc ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x88]
cmp edx, dword [ecx]
pop ecx
setl cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x74]
cmp dword [esp + 0x20], ecx
je 0x468199
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 0x71e9572a
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x20]
je 0x4680ed
cmp dword [esp + 0x30], eax
je 0x4680ed
mov ecx, dword [esp + 0xb8]
cmp dword [ecx], eax
je 0x4680ed
xor ecx, ecx
lea esi, [ecx + 1]
jmp 0x4680ef
mov esi, eax
mov ecx, dword [esp + 0x38]
xor edx, edx
cmp ecx, esi
setg dl
xor ecx, ecx
cmp edx, 0xf79c
setl cl
xor edx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x70]
cmp dword [esp + 0x30], ecx
sete dl
neg edx
je 0x468123
cmp dword [esp + 0xc], eax
je 0x468123
xor eax, eax
inc eax
xor ecx, ecx
inc ecx
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x24]
add edx, eax
neg edx
sbb edx, edx
imul eax, dword [esp + 0x20], 0x125d
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [esp + 0x84]
setge cl
add ecx, dword [edi + 4]
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
cmp dword [eax], 0x52837b75
setl cl
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x70]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xb8]
mov dword [eax], ecx
jmp 0x4681dc
mov dword [esp + 0x28], 0xd69bdfbf
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0x10
jl 0x4681e0
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x4681cb
call esi
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_SetParent]
xor eax, eax
cmp dword [esp + 0x28], eax
jne 0x4681dc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x10
jge 0x4681b2
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x84]
call fcn.00432b52
xor edi, edi
inc edi
lea ecx, [esp + 0xb8]
call fcn.00432b52
lea ecx, [esp + 0x118]
call fcn.00432b52
mov dword [esp + 0xc], 0
lea ecx, [esp + 0x78]
push 3
mov dword [esp + 0xc8], esi
call fcn.00432a80
xor eax, eax
mov dword [esp + 0x28], 0xfffffff8
mov dword [esp + 0x18], eax
jmp 0x468244
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
mov dword [ecx + edx*4], 0x11a796d4
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x468231
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
sub ecx, dword [esp + 0xc]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [esp + 0xc]
jl 0x46826a
mov edx, eax
cmp dword [esp + 0xc], eax
je 0x46826c
mov edx, edi
mov ecx, dword [esp + 0xc]
add ecx, edx
cmp ecx, dword [esp + 0xc]
je 0x468280
mov edx, eax
cmp dword [esp + 0xc], eax
je 0x468282
mov edx, edi
xor ecx, ecx
cmp edx, 0x9642e40
setg cl
sub ecx, 0xc3ad3b31
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [esp + 0xc]
imul ecx, dword [esp + 0xc]
mov dword [esp + 0xc], ecx
cmp dword [esp + 0xc], eax
je 0x4682c0
mov dword [esp + 0x28], 2
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
jmp 0x4683fd
mov dword [esp + 0x1c], 0xdaf0b56f
mov dword [esp + 0xc], 2
cmp dword [esp + 0xc], eax
jl 0x4683fd
mov dword [esp + 0x14], 0x42e11914
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x78]
mov ecx, dword [edx + ecx*4]
mov dword [edx + esi*4], ecx
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 2
jg 0x4683f3
mov edi, dword [esp + 0x78]
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x78]
cmp dword [ecx + edx*4], eax
jne 0x468331
mov ecx, dword [esp + 0x1c]
mov edx, 0x818a88ac
cmp edx, ecx
sbb ecx, ecx
neg ecx
add ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x14]
jge 0x46833e
cmp dword [esp + 0xc], eax
je 0x46833e
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x468340
mov edx, eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, 0xed5b6062
cmp ecx, edx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [edi + 8]
mov edi, dword [esp + 0x78]
cmp ecx, 0x4ca72cb5
mov ecx, 0xfffd
setne dl
sub edx, dword [edi + esi*4]
mov esi, dword [esp + 0x30]
cmp ecx, edx
mov edx, dword [esp + 0x28]
sbb ecx, ecx
inc ecx
add ecx, dword [edi + edx*4]
xor edx, edx
cmp dword [edi + esi*4], ecx
mov esi, dword [esp + 0x24]
sete dl
xor ecx, ecx
cmp edx, dword [edi + esi*4]
setge cl
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], eax
jmp 0x4683d9
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
mov ecx, dword [edx + ecx*4]
mov dword [edx + esi*4], ecx
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x4683d5
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jle 0x4683af
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
mov edi, dword [esp + 0x20]
jle 0x46830b
dec dword [esp + 0xc]
jns 0x4682da
lea ecx, [esp + 0x78]
jmp 0x469891
push 4
pop eax
mov dword [esp + 0x1c], 0xf76ec751
lea ecx, [esp + 0x10c]
mov dword [esp + 0x28], 0xff29acd4
push eax
call fcn.00432a80
push 3
pop esi
mov dword [esp + 0x20], 0xc295a527
lea ecx, [esp + 0x124]
mov dword [esp + 0x24], 0x48e01afe
push esi
call fcn.00432a80
mov dword [esp + 0x24], 0x3aed5eba
lea ecx, [esp + 0x1a0]
push esi
call fcn.00432a80
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x468475
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10c]
mov dword [ecx + edx*4], esi
inc dword [esp + 0xc]
push 4
pop ecx
cmp dword [esp + 0xc], ecx
jl 0x468463
mov dword [esp + 0xc], eax
jmp 0x46849a
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x124]
mov dword [ecx + edx*4], 0xfffffffc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x468484
mov dword [esp + 0xc], eax
jmp 0x4684bc
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1a0]
mov dword [ecx + edx*4], 0x6f576105
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x4684a6
mov dword [esp + 0xc], eax
jmp 0x4684db
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x260], 0xd55a9d45
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x4684c8
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10c]
push 0
mov edx, dword [esi + 4]
sub edx, ecx
xor ecx, ecx
cmp dword [esi + 8], eax
sete cl
cmp ecx, edx
mov ecx, dword [esp + 0x110]
pop edx
setl dl
sub edx, dword [ecx + 0xc]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
xor ecx, ecx
cmp dword [esi + 8], edi
setl cl
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
add ecx, dword [esp + 0x1c]
cmp ecx, 0x7736
jge 0x468540
mov ecx, edi
cmp dword [esi + 8], eax
jne 0x468542
mov ecx, eax
mov eax, dword [esp + 0x124]
mov edx, dword [eax + 4]
xor eax, eax
cmp ecx, dword [esi + 8]
setg al
inc eax
add eax, edx
cmp edi, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
mov eax, dword [esp + 0x1c]
setle cl
xor edx, edx
cmp ecx, eax
setg dl
add edx, 0xd02e845a
neg edx
sbb edx, edx
inc edx
cmp edx, dword [esp + 0x1c]
jne 0x468584
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], 0x3c239170
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1a0]
cmp dword [eax], edi
mov eax, dword [esp + 0x124]
setge dl
xor ecx, ecx
cmp edx, dword [eax]
setg cl
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x1a0]
call fcn.00432b52
lea ecx, [esp + 0x124]
call fcn.00432b52
lea ecx, [esp + 0x10c]
call fcn.00432b52
mov eax, dword [0xaae804]
test al, 2
jne 0x468663
or eax, 2
mov dword [0xaae804], eax
xor eax, eax
push eax
push eax
mov dword [0xaae810], eax
mov dword [0xaae814], eax
call fcn.004041f6
mov ecx, eax
mov dword [0xaae82c], 0x3f800000
mov dword [0xaae810], ecx
xor eax, eax
mov dword [esp + 0xe8], ecx
lea ecx, [esp + 0xe8]
push ecx
push 0x10
push eax
mov dword [0xaae818], eax
mov ecx, 0xaae818
mov dword [0xaae820], eax
mov dword [0xaae81c], eax
lea eax, [esp + 0x74]
push eax
call fcn.00403f2c
push 0x4b3e6e
mov dword [0xaae824], 7
mov dword [0xaae828], 8
call fcn.0049011f
pop ecx
mov dword [esp + 0x24], 0x1a969ac5
xor eax, eax
mov dword [esp + 0x20], 6
mov dword [esp + 0x1d0], edi
mov dword [esp + 0x1d4], edi
mov dword [esp + 0x1d8], edi
mov dword [esp + 0x1dc], edi
mov dword [esp + 0x18], eax
jmp 0x4686aa
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x170], 0xeb987642
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x468697
mov dword [esp + 0x178], 0x4b1b055c
xor edx, edx
mov ecx, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x20]
imul ecx, dword [esp + 0x24]
imul esi, ecx, 0xec2d
add esi, 0x21588ded
mov dword [esp + 0x1d4], esi
mov ecx, dword [esp + 0x20]
cmp esi, ecx
setne dl
mov dword [esp + 0x20], edx
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x468719
push 0xc20
push 0x1b66
push 0x1572
push eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push 0xfffffffffffffff9
pop eax
xorps xmm0, xmm0
lea ecx, [esp + 0x194]
movdqu xmmword [esp + 0xa8], xmm0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x24], 0xfffffffe
push 3
call fcn.00432a80
mov dword [esp + 0x24], 8
xor eax, eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 0xadb51fd9
mov dword [esp + 0x20], 0xfffb
mov dword [esp + 0x28], 0x8f15ea37
mov dword [esp + 0xc], eax
jmp 0x468794
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x194]
mov dword [ecx + edx*4], 0xbac04ee7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x46877e
push 4
mov dword [esp + 0x10], eax
pop edx
jmp 0x4687b7
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x1ec], 0x166c1932
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x4687a4
mov dword [esp + 0xc], eax
jmp 0x4687d6
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x1fc], 0x419c
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x4687c3
cmp dword [esp + 0x48], eax
je 0x46880a
mov dword [esp + 0x18], eax
jmp 0x4687fb
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x22c], 0x94ddbc37
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x4687e8
dec dword [esp + 0x234]
jmp 0x468827
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x468827
push 0x136a
push eax
push eax
push 0x5cc
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
mov dword [esp + 0x24], edi
xor ecx, ecx
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x1f8]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x194]
mov dword [esi + 4], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1ec]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x1f8]
cmp eax, edi
mov eax, dword [esp + 0x48]
setge cl
xor edx, edx
imul eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x200]
mov eax, dword [esp + 0x200]
cmp ecx, eax
setne dl
mov dword [esp + 0x24], edx
xor edx, edx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
cmp eax, ecx
mov ecx, 0xffff
setne dl
add edx, 0x25176bfb
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x20]
cmp dword [esi + 4], 5
sbb eax, eax
neg eax
cmp ecx, eax
mov ecx, dword [esp + 0x40]
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [esp + 0x48]
sub ecx, eax
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x194]
call fcn.00432b52
lea eax, [esp + 0x34]
push eax
call fcn.0046997c
mov esi, dword [eax]
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], eax
jmp 0x468917
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x254], edi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x468908
mov dword [esp + 0x14], eax
jmp 0x468935
mov ecx, dword [esp + 0x14]
cmp dword [esp + ecx*4 + 0x254], eax
jne 0x46893c
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jle 0x468924
mov dword [esp + 0x14], eax
jmp 0x468990
mov dword [esp + 0x18], 0xca2961c0
mov dword [esp + 0x18], eax
jmp 0x468985
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x468966
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
xor eax, eax
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x468981
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowPlacement]
xor eax, eax
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff6
je 0x468950
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 7
jge 0x468942
mov al, byte [ebp + 0xc]
test al, al
jne 0x4689a6
test esi, esi
jne 0x468d86
lea ecx, [esp + 0x278]
mov dl, al
push ecx
mov ecx, dword [esp + 0x38]
call fcn.00432df3
mov esi, eax
lea edi, [esp + 0xac]
pop ecx
lea ecx, [esp + 0xd0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
mov dword [esp + 0xc], 5
inc esi
push esi
call fcn.00432a80
push 3
lea ecx, [esp + 0x140]
call fcn.00432a80
mov dword [esp + 0x18], 0x4322e7c6
xor eax, eax
mov dword [esp + 0x1c], 0x7a2d47e1
mov dword [esp + 0x24], 0x6b01fe44
mov dword [esp + 0x14], eax
jmp 0x468a23
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xd0]
mov dword [ecx + edx*4], 0x6ec6e54e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x468a0d
mov dword [esp + 0x14], eax
jmp 0x468a45
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x13c]
mov dword [ecx + edx*4], 0x955a63a7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x468a2f
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xd0]
push 0
mov dword [ecx], edx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
imul edx, dword [esp + 0x10], 0xf381
mov ecx, dword [esp + 0x10]
cmp edx, ecx
pop ecx
setle cl
sub ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xc]
sub ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x13c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [edi + 4], ecx
je 0x468b9e
mov dword [esp + 0x24], 0xcb7be74f
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], 0xa5c12438
mov dword [esp + 0x2c], 5
mov dword [esp + 0x28], 0xffffffff
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x468ae9
push eax
push 0x7f8
push 0xf7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetSystemPaletteEntries]
xor eax, eax
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
sub edx, ecx
mov ecx, dword [esp + 0xd0]
mov dword [ecx], edx
dec dword [esp + 0x18]
cmp edx, 0xd869e772
cmova esi, eax
xor edx, edx
cmp dword [edi + 4], eax
setne dl
xor ecx, ecx
cmp esi, edx
setge cl
sub ecx, 0x175d7278
jne 0x468b2e
cmp dword [esp + 0x18], eax
jne 0x468b2e
mov edx, eax
jmp 0x468b33
xor ecx, ecx
lea edx, [ecx + 1]
xor ecx, ecx
cmp edx, 0x5f2f
setne cl
xor edx, edx
inc edx
cmp edx, ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [esp + 0x14]
jl 0x468b54
mov ecx, eax
cmp dword [edi + 4], eax
je 0x468b56
mov ecx, edx
mov eax, dword [esp + 0x1c]
imul eax, ecx
xor ecx, ecx
imul eax, eax, 0x2614
cmp eax, 0x51f8
setg cl
sub ecx, dword [esp + 0x28]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0xd890
xor ecx, ecx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
sub edx, 0x6d8b34f9
cmp edx, eax
setg cl
mov dword [esp + 0x28], ecx
jmp 0x468cf8
push 4
pop edi
push edi
lea ecx, [esp + 0x1b0]
call fcn.00432a80
push dword [esp + 0x68]
movdqa xmm0, xmmword [0xaa72c0]
lea ecx, [esp + 0x220]
push ecx
xor eax, eax
lea ecx, [esp + 0x214]
push ecx
mov dword [esp + 0x24], eax
lea ecx, [esp + 0xe8]
push eax
movdqu xmmword [esp + 0x21c], xmm0
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
call fcn.00432bc3
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x468c19
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1ac]
mov dword [ecx + edx*4], 3
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x468c03
mov dword [esp + 0x14], eax
jmp 0x468c35
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x64], 0x3f861273
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x468c25
mov esi, dword [esp + 0x1ac]
xor edx, edx
or dword [esi + 8], 0xffffffff
mov ecx, dword [esi + 8]
test ecx, ecx
mov dword [esp + 0x18], 0xffffffff
setne dl
test ecx, ecx
jne 0x468c90
mov ecx, dword [esp + 0x1c]
mov edi, 0x67b2
mov ecx, dword [esp + 0xdc]
mov dword [ecx + 4], edi
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x64], edi
mov edi, dword [ecx]
imul ecx, dword [esp + 0x24], 0x67b2
cmp ecx, edi
jg 0x468c90
test edi, edi
jne 0x468c90
mov edi, eax
jmp 0x468c95
xor ecx, ecx
lea edi, [ecx + 1]
xor ecx, ecx
cmp edi, 0x2f2f
setle cl
imul ecx, dword [esi + 8]
test ecx, ecx
je 0x468cae
cmp dword [esp + 0x24], eax
jne 0x468cb2
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x13c]
mov dword [eax + 8], edx
mov dword [esp + 0x18], edx
xor edx, edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0xc]
cmp ecx, eax
lea ecx, [esp + 0xdc]
setge dl
cmp edx, 0xc1b334fe
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
call fcn.00432b52
lea ecx, [esp + 0x1ac]
call fcn.00432b52
lea ecx, [esp + 0x13c]
call fcn.00432b52
lea ecx, [esp + 0xd0]
call fcn.00432b52
cmp byte [ebp + 0xc], 0
je 0x468d83
cmp dword [esp + 0xb0], 0
je 0x468d83
mov dword [esp + 0x18], 0x5540d7f8
mov dword [esp + 0x18], 0xf
jmp 0x468d45
cmp byte [esp + 0x13], 0
je 0x468d41
push 0
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe4
mov byte [esp + 0x13], 0
jle 0x468d32
cmp byte [esp + 0x13], 0
je 0x468d67
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xcc], eax
xor edi, edi
inc edi
push 2
lea ecx, [esp + 0x94]
call fcn.00432a80
mov dword [esp + 0x14], edi
xor eax, eax
mov dword [esp + 0x28], 6
mov dword [esp + 0x24], 0xfff6
mov dword [esp + 0x18], eax
jmp 0x468dc2
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x90]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x468db0
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x90]
push 0
mov edx, dword [ecx + 4]
xor ecx, ecx
cmp edx, edi
setg cl
cmp edx, ecx
mov edx, edi
pop ecx
setle cl
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x14]
sub edx, ecx
cmp dword [esp + 0x28], edx
jl 0x468ef4
mov dword [esp + 0x1c], 0xffffffff
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x468e17
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadLocale]
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x468ee8
mov dword [esp + 0xc], 0x8d303f02
mov dword [esp + 0xc], edi
cmp dword [esp + 0xc], eax
jl 0x468e84
mov dword [esp + 0x28], 0xfffffffe
mov ecx, dword [esp + 0xc]
cmp dword [esp + 0x1c], eax
jne 0x468e48
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x90]
cmp dword [edx + ecx*4], 0xffff
sbb edi, edi
xor ecx, ecx
neg edi
cmp dword [edx + esi*4], eax
sete cl
imul edi, ecx
mov ecx, dword [esp + 0xc]
sub edi, ecx
mov dword [esp + 0x28], edi
dec dword [esp + 0xc]
jns 0x468e32
xor edi, edi
inc edi
mov dword [esp + 0xc], edi
cmp dword [esp + 0xc], eax
jl 0x468ed0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x90]
cmp dword [ecx + edx*4], eax
jne 0x468ed0
mov dword [esp + 0x1c], eax
jmp 0x468ec4
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
push 0
cmp dword [ecx + edx*4], 0x7218
pop ecx
setl cl
mov dword [esp + 0x28], ecx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jle 0x468ea4
dec dword [esp + 0xc]
jns 0x468e8e
mov dword [esp + 0xc], edi
cmp dword [esp + 0xc], eax
jl 0x468ee4
inc dword [esp + 0x24]
dec dword [esp + 0xc]
jns 0x468eda
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jle 0x468e20
jmp 0x468f15
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x468f15
push 0xe77
push 0x1e52
push eax
push 0xd5
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
lea ecx, [esp + 0x90]
call fcn.00432b52
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x4694ab
cmp dword [esp + 0xa8], esi
jle 0x4694ab
push 4
pop esi
mov dword [esp + 0xc], 0xb26bdde0
lea ecx, [esp + 0x54]
mov dword [esp + 0x14], 0xfffffffe
push esi
call fcn.00432a80
mov dword [esp + 0x2c], 0xfffffffe
lea ecx, [esp + 0x17c]
push edi
call fcn.00432a80
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x468f87
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
mov dword [ecx + edx*4], 0x5b611fb8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x468f74
mov dword [esp + 0x14], eax
jmp 0x468fa9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x17c]
mov dword [ecx + edx*4], 0x704bae91
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x468f93
mov dword [esp + 0xc], 0x1a
cmp dword [esp + 0xc], 0xffffffe7
jge 0x4691e8
mov dword [esp + 0x1c], 0xffff
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x18], eax
jmp 0x468fe7
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x158], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x468fd8
mov ecx, dword [esp + 0xc]
xor edx, edx
mov ecx, dword [esp + 0xc]
cmp ecx, 0xffffffff
setg dl
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x49f4ffcf
imul ecx, dword [esp + 0xc]
test ecx, ecx
je 0x469019
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0xc], eax
je 0x469023
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
neg edx
mov dword [esp + 0x14], eax
sbb edx, edx
neg edx
imul ecx, edx
test ecx, ecx
je 0x469076
cmp dword [esp + 0x14], 3
jg 0x46908d
mov esi, dword [esp + 0x54]
mov dword [esi + 8], 5
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x469069
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
xor eax, eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jle 0x46904f
jmp 0x46908d
cmp dword [esp + 0x14], edi
je 0x46908d
mov ecx, dword [esp + 0x54]
mov dword [ecx + 8], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jne 0x469080
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 8
je 0x4691d6
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], 0x3c8f4383
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x1c]
jne 0x4690d6
cmp dword [esp + 0x28], eax
jne 0x4690d6
mov dword [esp + 0x158], eax
jmp 0x4690e8
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x158], edi
cmp dword [ecx + 0xc], eax
mov ecx, edi
jne 0x4690ea
mov ecx, eax
cmp ecx, edi
sbb ecx, ecx
inc ecx
mov dword [edx + 8], ecx
mov edx, dword [esp + 0x1c]
imul edx, ecx
mov ecx, dword [esp + 0x17c]
add edx, dword [ecx]
xor ecx, ecx
cmp edx, 0xfffffff9
setle cl
imul ecx, ecx, 0xc3cc
test ecx, ecx
je 0x46911c
mov esi, edi
cmp dword [esp + 0x2c], eax
jne 0x46911e
mov esi, eax
mov ecx, dword [esp + 0xc]
xor edx, edx
cmp esi, ecx
setne dl
cmp edx, 0x960698b4
jb 0x4691ae
mov dword [esp + 0x14], 3
cmp dword [esp + 0x14], eax
jl 0x4691c3
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
cmp dword [ecx + edx*4], eax
jne 0x469161
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x24], eax
cmp dword [ecx + edx*4], eax
je 0x469165
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x14]
xor edx, edx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x54]
push 4
cmp dword [esi + ecx*4], 0xa513
sete dl
imul edx, edx, 0x6ddf
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp dword [esp + 0x28], edx
pop edx
setl cl
cmp ecx, 1
push 1
sbb ecx, ecx
inc ecx
cmp edx, ecx
sbb ecx, ecx
inc ecx
mov dword [esi + edi*4], ecx
dec dword [esp + 0x18]
pop edi
jns 0x469143
jmp 0x4691c3
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x4691c3
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
xor eax, eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 8
mov edx, dword [esp + 0x18]
jne 0x4690a4
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffe7
jl 0x468fc2
push 4
pop esi
lea ecx, [esp + 0x17c]
call fcn.00432b52
lea ecx, [esp + 0x54]
call fcn.00432b52
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x469218
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x168], 0xffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x469205
dec dword [esp + 0x168]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x46923b
push eax
call edi
xor eax, eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], 0xa60915bb
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], eax
jmp 0x46926b
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x148], 0x876e
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x469258
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0xfffffffb
jg 0x46938e
push 3
pop esi
mov dword [esp + 0x14], 0x6444696a
mov dword [esp + 0x14], esi
cmp dword [esp + 0x14], eax
jl 0x469312
mov dword [esp + 0x1c], 9
mov dword [esp + 0x2c], 0xfffffffb
mov dword [esp + 0x1c], eax
jmp 0x469306
mov ecx, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x148]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + ecx*4 + 0x148]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + ecx*4 + 0x148]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + ecx*4 + 0x148]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + ecx*4 + 0x148]
cmp ecx, 1
setne dl
mov dword [esp + 0x2c], edx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x4692ab
dec dword [esp + 0x14]
jns 0x469295
mov dword [esp + 0x14], esi
cmp dword [esp + 0x14], eax
jl 0x46937f
mov dword [esp + 0xc], eax
jmp 0x469373
mov dword [esp + 0x1c], 0x68e10d32
mov dword [esp + 0x2c], 0x888ad88c
mov dword [esp + 0x1c], eax
jmp 0x469369
mov dword [esp + 0x24], 0xfff6
mov dword [esp + 0x24], 0xfffffffb
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x469365
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
xor eax, eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x469338
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x469322
dec dword [esp + 0x14]
jns 0x46931c
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffffb
jle 0x469283
mov esi, dword [esp + 0xac]
mov dword [esp + 0x18], eax
jmp 0x4693ae
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x160], 0xffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x46939b
dec dword [esp + 0x160]
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x4693cc
push eax
call edi
xor eax, eax
xor edi, edi
inc edi
test esi, esi
je 0x4694a7
cmp dword [esp + 0x28], 0
je 0x4694a7
mov dword [esp + 0x1c], 0xfffffffb
mov dword [esp + 0x2c], 0x49cec79e
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], 0xffffffe2
cmp dword [esp + 0x1c], 0xfffffffe
je 0x46948c
mov dword [esp + 0x18], 0x3371
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 0x8e92eda8
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
inc dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp edx, eax
sete cl
xor edx, edx
neg ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x18]
cmp eax, ecx
mov eax, dword [esp + 0x14]
setne dl
xor ecx, ecx
sub edx, eax
mov eax, dword [esp + 0x1c]
cmp edx, 0xefc07e17
setne cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
inc dword [esp + 0x1c]
jmp 0x4693fe
mov ecx, esi
call fcn.004676dc
mov esi, eax
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x24], esi
call fcn.0046997c
mov dword [eax], esi
jmp 0x4694ab
mov esi, dword [esp + 0x20]
mov dword [esp + 0x18], 6
lea ecx, [esp + 0x130]
push edi
call fcn.00432a80
mov dword [esp + 0x1c], 0x3ffaf072
mov dword [esp + 0xc], 0xc28c
mov dword [esp + 0x14], 0
jmp 0x4694f0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], 0x61c71bc7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x4694da
mov dword [esp + 0x14], 0
jmp 0x469513
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x23c], 0xfffffffd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x469500
mov eax, dword [esp + 0x130]
push 0xfffffffffffffffa
pop ecx
mov dword [eax], ecx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x18], 0xa8bc07c2
mov eax, dword [esp + 0x130]
mov dword [eax], edx
sbb eax, eax
xor ecx, ecx
inc eax
sub eax, dword [esp + 0xc]
cmp edx, eax
setle cl
xor edx, edx
cmp ecx, 9
setne dl
sub edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
add edx, 0x96792926
cmp edx, eax
mov eax, 0xb79ae4f7
setge cl
cmp eax, ecx
sbb ecx, ecx
xor edx, edx
neg ecx
imul ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x23c], ecx
lea ecx, [esp + 0x130]
call fcn.00432b52
lea ecx, [esp + 0xa8]
call fcn.00434776
test esi, esi
je 0x4696f9
push dword [esp + 0x68]
movdqa xmm0, xmmword [0xaa72a0]
lea ecx, [esp + 0x230]
push ecx
xor eax, eax
lea ecx, [esp + 0x224]
push ecx
push eax
lea ecx, [esp + 0xac]
mov dword [esp + 0xac], eax
movdqu xmmword [esp + 0x22c], xmm0
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
call fcn.00432bc3
mov dword [esp + 0x1c], 0x2061f665
mov dword [esp + 0x24], 0xba8b35ed
mov dword [esp + 0x2c], 0x36729694
mov dword [esp + 0x1c], 3
cmp dword [esp + 0x1c], 0
jl 0x4696a4
mov eax, dword [esp + 0x1c]
xor edx, edx
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x9c]
push 1
cmp dword [ecx + esi*4], eax
setne dl
xor eax, eax
cmp edx, edi
setle al
xor edx, edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0xa0]
cmp dword [esi + eax*4], 0xb959c45c
sete dl
sub edx, 6
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x213af72b
setne cl
xor eax, eax
cmp dword [esi + edi*4], ecx
pop edi
setg al
mov dword [esp + 0x2c], eax
dec dword [esp + 0x1c]
jns 0x469633
mov esi, dword [esp + 0x20]
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x4696cd
push edi
push 0x8f8
push 0x22e
push 0x1470
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollRange]
lea ecx, [esp + 0x9c]
call fcn.00432b52
mov edx, dword [esp + 0x30]
mov ecx, esi
call fcn.00467909
mov esi, eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0xc8], esi
call fcn.0046991a
mov dword [eax], esi
mov dword [esp + 0x2c], 0x4e2db58e
lea ecx, [esp + 0x188]
mov dword [esp + 0x30], 0x9e57ad95
mov dword [esp + 0x24], 0x29bf390
push edi
call fcn.00432a80
xor eax, eax
mov dword [esp + 0x28], 0xfffffff7
push 4
mov dword [esp + 0x18], eax
pop edx
jmp 0x469744
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0xf0], 7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x469731
mov dword [esp + 0x14], eax
jmp 0x469766
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x188]
mov dword [ecx + edx*4], 0xf9986e3
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x469750
mov ecx, dword [esp + 0x188]
inc dword [ecx]
mov ecx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
imul ecx, ecx, 0x77b6
add edx, ecx
je 0x46979f
mov esi, edi
cmp dword [esp + 0xf4], eax
jne 0x4697a1
mov esi, eax
mov ecx, dword [esp + 0x30]
xor edx, edx
cmp esi, ecx
mov ecx, dword [esp + 0x2c]
push 0
setg dl
cmp edx, ecx
mov edx, dword [esp + 0x2c]
pop ecx
setge cl
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x30]
cmp ecx, edx
push 0
pop ecx
setge cl
xor edx, edx
test ecx, ecx
setg dl
xor ecx, ecx
cmp edx, dword [esp + 0x2c]
setle cl
sub ecx, 0xfffffffa
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xf8]
add ecx, 0xbab7c215
add ecx, dword [esp + 0x2c]
je 0x469828
mov dword [esp + 0x30], eax
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x469822
push 0x91
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
dec dword [esp + 0x30]
jmp 0x46988a
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], 0x46bb218a
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
dec esi
mov edx, dword [esp + 0xf8]
neg esi
sbb esi, esi
neg esi
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp esi, edx
setge cl
xor edx, edx
cmp ecx, 0x2c8c
setl dl
imul edx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
mov dword [esp + 0x18], 0xfffffffb
jmp 0x469883
cmp dword [esp + 0x20], eax
jne 0x46988a
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe4
jle 0x469879
lea ecx, [esp + 0x188]
call fcn.00432b52
mov eax, dword [ebp + 8]
lea esi, [esp + 0xc4]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov esp, ebp
pop ebp
ret