Function at 0x41b267
Capabilities:
Connect pipe
Enumerate gui resources
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x280
push ebx
push esi
push edi
xor edi, edi
lea ecx, [ebp - 0x164]
inc edi
push edi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0x3111738a
mov dword [ebp - 0x40], eax
jmp 0x41b2a6
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x164]
mov dword [ecx + edx*4], 0x3ae35568
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], edi
jl 0x41b293
mov dword [ebp - 0x40], eax
jmp 0x41b2c1
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0xf4], 0xf7bf
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], edi
jl 0x41b2b0
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x164]
mov dword [eax], 0xffffffea
call fcn.00415bbf
mov dword [ebp - 0x104], 0
lea ecx, [ebp - 0x104]
call fcn.00419293
mov dword [ebp - 0x54], 0
lea ecx, [ebp - 0x1ec]
push edi
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x64], 0xe541
mov dword [ebp - 0x74], eax
jmp 0x41b326
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x1ec]
mov dword [ecx + edx*4], 0xfffffff6
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], edi
jl 0x41b313
mov byte [ebp - 0x5f], al
cmp byte [ebp - 0x5f], al
je 0x41b33e
push 0x161a
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov ecx, dword [ebp - 0x54]
push 3
pop esi
push 2
pop ebx
cmp ecx, dword [ebp - 0x54]
jl 0x41b42a
push 4
lea ecx, [ebp - 0x210]
call fcn.00415aed
push dword [ebp - 0xf4]
movdqa xmm0, xmmword [0xab9240]
lea ecx, [ebp - 0x23c]
push ecx
xor eax, eax
mov dword [ebp - 0x10], 0x5934215e
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x10], 0xbf2465cd
push ecx
push eax
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], eax
movdqu xmmword [ebp - 0x24c], xmm0
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
call fcn.004172a5
xor eax, eax
mov dword [ebp - 0x78], eax
jmp 0x41b3c5
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x210]
mov dword [ecx + edx*4], edi
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], 4
jl 0x41b3b6
mov dword [ebp - 0x54], eax
jmp 0x41b40c
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0x1009d434
mov dword [ebp - 0x10], 0x2a10aa43
mov dword [ebp - 0x10], 0xe1b1b55
mov dword [ebp - 0x10], 0x67101392
mov dword [ebp - 8], eax
jmp 0x41b401
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x280], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x41b3f4
inc dword [ebp - 0x64]
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0x1a
jge 0x41b3d0
lea ecx, [ebp - 0x140]
call fcn.00415bbf
lea ecx, [ebp - 0x210]
call fcn.00415bbf
jmp 0x41b454
mov dword [ebp - 0x64], eax
jmp 0x41b44e
mov dword [ebp - 0xec], 0x2bf35dd7
mov dword [ebp - 0xec], 0x5c22c920
cmp dword [ebp - 0xec], eax
jne 0x41b454
inc dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0xa
jne 0x41b42f
lea ecx, [ebp - 0x1ec]
call fcn.00415bbf
push dword [ebp - 0xf4]
movdqa xmm0, xmmword [0xab92a0]
lea ecx, [ebp - 0x22c]
push ecx
xor eax, eax
lea ecx, [ebp - 0x23c]
push ecx
push eax
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x100], eax
movdqu xmmword [ebp - 0x23c], xmm0
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
call fcn.004172a5
mov dword [ebp - 0x12c], 0x5d6c05ba
lea ecx, [ebp - 0x1b8]
push ebx
call fcn.00415aed
mov dword [ebp - 0x88], 0
jmp 0x41b4db
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x1b8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x88]
cmp dword [ebp - 0x88], ebx
jl 0x41b4c5
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0x12c]
call fcn.0041ae77
lea ecx, [ebp - 0x1b8]
call fcn.00415bbf
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x70], 0xfffffffe
mov dword [ebp - 0x134], edi
mov dword [ebp - 8], 0
jmp 0x41b52f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x274], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x41b522
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x41b54b
push 0x8d0
push 0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov dword [ebp - 0xa4], 0
jmp 0x41b5d0
push 4
lea ecx, [ebp - 0x1a0]
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x90], eax
jmp 0x41b583
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x1a0]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x90]
cmp dword [ebp - 0x90], 4
jl 0x41b56e
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x70], esi
cmp dword [ebp - 0x70], eax
jl 0x41b5bf
mov dword [ebp - 0x20], 0xde9bf9f
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x1a0]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x134], eax
dec dword [ebp - 0x70]
jns 0x41b59b
lea ecx, [ebp - 0x1a0]
call fcn.00415bbf
inc dword [ebp - 0xa4]
cmp dword [ebp - 0xa4], 0xe
jg 0x41b557
mov dword [ebp - 0x18], 0xcd04cd02
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x2c], 0xf9c2
mov dword [ebp - 0xd4], 0x66e9f086
mov dword [ebp - 0xe4], 0
push esi
call fcn.00415aed
mov dword [ebp - 0x10], 0xae9f
mov dword [ebp - 0xac], 0
jmp 0x41b633
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x1d0]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0xac]
cmp dword [ebp - 0xac], esi
jl 0x41b61e
inc dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add ecx, eax
mov eax, dword [ebp - 0x2c]
add ecx, eax
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setle dl
mov dword [ebp - 0xd4], edx
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0xe4], ecx
mov eax, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x1d0]
lea ecx, [ebp - 0x1d0]
setne dl
mov dword [eax + 8], edx
call fcn.00415bbf
mov dword [ebp - 0x108], 0x20624039
mov dword [ebp - 0x10], 0x39e3cf95
mov dword [ebp - 0x10], 0xed6f1860
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x10], 0xfffffffb
mov dword [ebp - 0x130], 0x4151c8b9
mov dword [ebp - 8], 0
jmp 0x41b706
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x21c], 0x9ab5c294
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x41b6f5
lea edx, [ebp - 0x130]
lea ecx, [ebp - 0x108]
call fcn.0041af88
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x41b72e
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov dword [ebp - 0x48], 0
jmp 0x41c517
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x194]
push ebx
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x41b75d
mov ecx, dword [ebp - 0x3c]
mov dword [ebp + ecx*4 - 0xe0], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jl 0x41b750
mov dword [ebp - 0x3c], eax
jmp 0x41b777
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x194]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jl 0x41b767
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], eax
jl 0x41b91f
push ebx
lea ecx, [ebp - 0x17c]
call fcn.00415aed
mov dword [ebp - 0x10], 0x9b41dbc4
xor eax, eax
mov dword [ebp - 0x4c], 0xb167d3d8
mov dword [ebp - 0xa8], eax
jmp 0x41b7c1
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x17c]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 0xa8]
cmp dword [ebp - 0xa8], ebx
jl 0x41b7ac
mov esi, dword [ebp - 0x17c]
mov dword [esi + 4], ebx
mov dword [ebp - 8], 4
mov dword [ebp - 0x10], 0xfffffffb
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], 0x2089ce3
mov dword [ebp - 0x1c], ebx
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe0]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe0]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe0]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe0]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xe0]
mov ecx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 4]
xor ecx, ecx
cmp dword [esi + 4], ecx
setne cl
xor edx, edx
cmp ecx, 0xe0c0
sete dl
xor ecx, ecx
cmp dword [esi + 4], edx
setge cl
cmp ecx, edi
jle 0x41b865
mov dword [ebp - 0x10], 0xfa1b4415
inc dword [ebp - 0x4c]
jmp 0x41b8fd
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], ebx
jg 0x41b8fd
mov ecx, dword [esi + 4]
mov ecx, dword [ebp + ecx*4 - 0xe0]
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x4c], eax
je 0x41b889
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], eax
jl 0x41b8ee
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jg 0x41b8d6
mov edi, dword [ebp - 0x194]
mov ecx, dword [esi + 4]
mov edx, 0x8afc
mov ecx, dword [ebp + ecx*4 - 0xe0]
sub edx, ecx
mov dword [edi + 4], edx
mov ecx, dword [esi + 4]
cmp dword [ebp + ecx*4 - 0xe0], eax
jne 0x41b8d6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jle 0x41b8ae
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x41b8e9
push eax
push eax
call dword [sym.imp.USER32.dll_CopyRect]
xor eax, eax
dec dword [ebp - 8]
jns 0x41b8a0
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
jle 0x41b874
xor edi, edi
inc edi
dec dword [esi + 4]
jns 0x41b7d2
lea ecx, [ebp - 0x17c]
call fcn.00415bbf
dec dword [ebp - 4]
jns 0x41b788
push 3
xor eax, eax
pop esi
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x41b92f
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea ecx, [ebp - 0x194]
call fcn.00415bbf
mov eax, 0x2751c76d
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
xor eax, eax
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x1c], 0xf2c9
mov dword [ebp - 0x10], 0x21f2
mov dword [ebp - 8], eax
jmp 0x41b97d
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x30], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x41b973
mov dword [ebp - 0xc], eax
jmp 0x41b995
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x30], 0x9dada439
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x41b987
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jg 0x41babc
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x24], 9
mov dword [ebp - 4], eax
cmp dword [ebp - 4], eax
jl 0x41baa4
mov dword [ebp - 8], 0xded68044
mov dword [ebp - 0x20], 0x7904
mov dword [ebp - 0x68], 0x34d71b36
mov dword [ebp - 8], eax
cmp dword [ebp - 8], eax
jl 0x41ba9b
mov dword [ebp - 0x24], 0x5a1ec8f9
xor ebx, ebx
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], 0xffffffff
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x30]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x30]
sub edx, ecx
mov ecx, dword [ebp - 0x1c]
cmp edx, ecx
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
sete bl
xor edx, edx
cmp ebx, ecx
setge dl
xor ecx, ecx
cmp edx, 0x15ed
setl cl
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x30]
imul edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x30], edx
dec dword [ebp - 8]
jns 0x41b9e8
dec dword [ebp - 4]
jns 0x41b9c7
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + ecx*4 - 0x30], eax
jne 0x41bab9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x41b9a6
push 2
pop ebx
mov dword [ebp - 0x10], 0x83afd470
call fcn.0041b034
mov dword [ebp - 0xc], edi
xor eax, eax
mov dword [ebp - 4], 0x3ca30775
mov dword [ebp - 0x10], 0x44d5
mov dword [ebp - 8], eax
jmp 0x41baf1
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0xb8], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x41bae0
cmp dword [ebp - 0xc], 0xa4a1
jge 0x41bb55
mov dword [ebp - 8], 0x8872
mov dword [ebp - 0x10], 0xfffffffe
mov ecx, dword [ebp - 8]
inc dword [ebp - 8]
test ecx, ecx
jne 0x41bb31
cmp dword [ebp - 0xc], eax
jne 0x41bb1f
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0xb4], eax
jne 0x41bb31
mov edx, eax
cmp dword [ebp - 8], eax
je 0x41bb33
mov edx, edi
mov ecx, dword [ebp - 0xc]
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x10]
push 2
setl bl
xor edx, edx
cmp ebx, ecx
pop ebx
setne dl
mov dword [ebp - 0xb8], edx
jmp 0x41bc66
mov dword [ebp - 8], 0xaee51190
mov dword [ebp - 0xc], eax
jmp 0x41bc5d
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jge 0x41bb83
push 6
pop edx
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x268], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x41bb70
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x260]
mov ecx, dword [ebp - 0xb4]
neg ecx
push 2
sbb ecx, ecx
xor ebx, ebx
neg ecx
cmp ecx, 0x6a426232
mov ecx, dword [ebp - 0xb0]
setne bl
xor edx, edx
imul ebx, ecx
mov ecx, dword [ebp - 8]
cmp ebx, ecx
sete dl
xor ebx, ebx
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
cmp edx, ecx
mov ecx, dword [ebp - 4]
setle bl
xor edx, edx
cmp ebx, ecx
pop ebx
setle dl
add edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x10], edx
xor edx, edx
cmp dword [ebp - 0x10], ecx
setg dl
mov dword [ebp - 0xb4], edx
mov dword [ebp - 8], 0xfffffffa
cmp dword [ebp - 8], 0xfffffff3
jge 0x41bc5a
mov dword [ebp - 4], eax
jmp 0x41bc15
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x204], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x41bc08
mov dword [ebp - 4], 0x1a
jmp 0x41bc4f
mov dword [ebp - 0x10], 0xb0538fd2
cmp dword [ebp - 0x200], eax
jne 0x41bc55
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov ecx, dword [ebp + ecx*4 - 0xb8]
cmp ecx, edi
setg dl
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x10], edx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffee
jle 0x41bc23
dec dword [ebp - 8]
jmp 0x41bbfd
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jle 0x41bb64
mov dword [ebp - 0xc], 0xffffffe5
jmp 0x41bd0b
mov dword [ebp - 0x24], 0xc4f4
mov dword [ebp - 0x10], 0xa55c
mov dword [ebp - 8], eax
jmp 0x41bc96
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x258], 0xfffa
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x41bc85
cmp dword [ebp - 0x24], eax
je 0x41bced
mov ecx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
add ecx, dword [ebp - 4]
je 0x41bcbe
mov ecx, edi
cmp dword [ebp - 0x24], eax
jne 0x41bcc0
mov ecx, eax
dec ecx
cmp ecx, dword [ebp - 0x24]
jle 0x41bccd
mov ecx, edi
cmp dword [ebp - 0x10], eax
jne 0x41bccf
mov ecx, eax
cmp ecx, 0xd6068d11
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0xb0]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, 0xb55e
mov ecx, edi
jne 0x41bcef
mov ecx, eax
mov dword [ebp - 0xb4], ecx
xor edx, edx
mov ecx, dword [ebp - 0xb4]
cmp ecx, edi
setg dl
mov dword [ebp - 0x254], edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffee
jle 0x41bc72
mov dword [ebp - 8], eax
jmp 0x41bd2b
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x218], 0xbf24
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x41bd1a
mov dword [ebp - 4], 0xfffffff6
mov dword [ebp - 0x18], 0xa6d
mov dword [ebp - 0x20], 0xd0e834ab
mov dword [ebp - 0x10], 0xdb5a
mov dword [ebp - 0x68], 0xfffa
mov dword [ebp - 4], eax
jmp 0x41bd69
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x9c], 4
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x41bd58
mov dword [ebp - 4], eax
jmp 0x41bd80
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x1ac], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x41bd73
mov dword [ebp - 4], 0xe
jmp 0x41bdb4
mov dword [ebp - 8], 0xfffffffc
mov dword [ebp - 8], eax
jmp 0x41bda6
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x9c], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jge 0x41bd9a
mov ecx, dword [ebp - 0x98]
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffffa
jg 0x41bd8e
mov ecx, dword [ebp - 0x98]
xor edx, edx
mov ecx, dword [ebp - 0x98]
cmp ecx, 0x8fc3a8a
mov ecx, dword [ebp - 0x18]
setl dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 4]
push 5
setge bl
add ebx, 0xfc80ae84
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, ecx
setl dl
mov dword [ebp - 4], edx
xor edx, edx
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x9c]
cmp ecx, edi
mov ecx, dword [ebp - 0x18]
setl dl
sub edx, ecx
mov dword [ebp - 0x20], edx
xor edx, edx
mov ecx, dword [ebp - 0x20]
cmp ecx, 0xa77b
mov ecx, dword [ebp - 0x98]
setne dl
sub ecx, edx
pop edx
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x10], edx
jl 0x41be58
mov dword [ebp - 0xe8], edi
inc dword [ebp - 0xe8]
jmp 0x41bf2d
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], eax
jmp 0x41be74
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x22c], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x41be67
mov dword [ebp - 4], 0x18
cmp dword [ebp - 4], 0xfffffff5
jle 0x41bf2d
push 6
pop esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x1c], 0x4e26
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x224]
cmp esi, ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x18]
cmp ecx, edx
mov ecx, dword [ebp - 0x9c]
setg bl
xor edx, edx
cmp ecx, ebx
setl dl
xor ebx, ebx
mov dword [ebp - 0x224], edx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
cmp edx, ecx
setge bl
sub ebx, dword [ebp - 0x1c]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
imul ebx, dword [ebp - 0x1c]
cmp ebx, 0x978c
setne dl
imul ecx, dword [ebp - 0x10], 0xa183
cmp ecx, edx
jne 0x41bf0e
mov ecx, edi
cmp dword [ebp - 0x228], eax
jne 0x41bf10
mov ecx, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x98], 0xfe298319
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff5
jg 0x41be8e
push 3
pop esi
mov dword [ebp - 0x124], esi
push 2
pop ebx
cmp dword [ebp - 0x124], eax
jl 0x41c514
call fcn.0041b0ee
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x188]
push esi
call fcn.00415aed
push edi
lea ecx, [ebp - 0x1c4]
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0x3111738a
mov dword [ebp - 0x38], eax
jmp 0x41bf86
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1c4]
mov dword [ecx + edx*4], 0x3ae35568
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x41bf73
mov dword [ebp - 0x38], eax
jmp 0x41bfa1
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1e0], 0xf7bf
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x41bf90
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1c4]
mov dword [eax], 0xffffffea
call fcn.00415bbf
mov dword [ebp - 0x10], 0xffffffff
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x10], 0x4964a53a
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], 0xfffffffa
push edi
call fcn.00415aed
mov dword [ebp - 0x7c], 0
jmp 0x41c000
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x158]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], edi
jl 0x41bfed
mov eax, dword [ebp - 0x158]
inc dword [eax]
mov dword [ebp - 0x80], 0x17
jmp 0x41c048
mov dword [ebp - 0x5c], 0xffff
mov dword [ebp - 0x5c], 0xbfc3938d
mov dword [ebp - 0x5c], 0
jmp 0x41c040
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x158]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], edi
jl 0x41c02d
dec dword [ebp - 0x80]
cmp dword [ebp - 0x80], 0xfffffff5
jl 0x41c016
lea ecx, [ebp - 0x158]
call fcn.00415bbf
push 0
lea eax, [ebp - 0x1fc]
mov edx, 0x7791
push eax
push 0x10ad
lea ecx, [ebp - 0x188]
call fcn.00419454
add esp, 0xc
lea ecx, [ebp - 0x1f8]
push ebx
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x84], eax
jmp 0x41c0af
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x1f8]
mov dword [ecx + edx*4], 0x862fd41e
inc dword [ebp - 0x84]
cmp dword [ebp - 0x84], ebx
jl 0x41c096
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x41c0ca
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
xor eax, eax
mov dword [ebp - 0xbc], edi
cmp dword [ebp - 0xbc], eax
jl 0x41c110
mov byte [ebp - 0x56], al
cmp byte [ebp - 0x56], 0
je 0x41c0eb
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
xor eax, eax
mov byte [ebp - 0x58], al
cmp byte [ebp - 0x58], 0
je 0x41c108
push 0x9d0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
xor eax, eax
dec dword [ebp - 0xbc]
jns 0x41c0d8
lea ecx, [ebp - 0x1f8]
call fcn.00415bbf
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x170]
push ebx
call fcn.00415aed
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x41c13e
mov ecx, dword [ebp - 0x34]
mov dword [ebp + ecx*4 - 0xd0], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jl 0x41c131
mov dword [ebp - 0x34], eax
jmp 0x41c158
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x170]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x41c148
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], eax
jl 0x41c300
push ebx
lea ecx, [ebp - 0x1dc]
call fcn.00415aed
mov dword [ebp - 0x10], 0x9b41dbc4
xor eax, eax
mov dword [ebp - 0x50], 0xb167d3d8
mov dword [ebp - 0xa0], eax
jmp 0x41c1a2
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x1dc]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 0xa0]
cmp dword [ebp - 0xa0], ebx
jl 0x41c18d
mov esi, dword [ebp - 0x1dc]
mov dword [esi + 4], ebx
mov dword [ebp - 0xc], 4
mov dword [ebp - 0x10], 0xfffffffb
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x68], 0x2089ce3
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xd0]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xd0]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xd0]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xd0]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0xd0]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 4]
xor ecx, ecx
cmp dword [esi + 4], ecx
setne cl
xor edx, edx
cmp ecx, 0xe0c0
sete dl
xor ecx, ecx
cmp dword [esi + 4], edx
setge cl
cmp ecx, edi
jle 0x41c246
mov dword [ebp - 0x10], 0xfa1b4415
inc dword [ebp - 0x50]
jmp 0x41c2de
mov dword [ebp - 8], eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], ebx
jg 0x41c2de
mov ecx, dword [esi + 4]
mov ecx, dword [ebp + ecx*4 - 0xd0]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x50], eax
je 0x41c26a
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], eax
jl 0x41c2cf
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jg 0x41c2b7
mov edi, dword [ebp - 0x170]
mov ecx, dword [esi + 4]
mov edx, 0x8afc
mov ecx, dword [ebp + ecx*4 - 0xd0]
sub edx, ecx
mov dword [edi + 4], edx
mov ecx, dword [esi + 4]
cmp dword [ebp + ecx*4 - 0xd0], eax
jne 0x41c2b7
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jle 0x41c28f
mov byte [ebp - 0x5d], al
cmp byte [ebp - 0x5d], 0
je 0x41c2ca
push eax
push eax
call dword [sym.imp.USER32.dll_CopyRect]
xor eax, eax
dec dword [ebp - 0xc]
jns 0x41c281
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ebx
jle 0x41c255
xor edi, edi
inc edi
dec dword [esi + 4]
jns 0x41c1b3
lea ecx, [ebp - 0x1dc]
call fcn.00415bbf
dec dword [ebp - 4]
jns 0x41c169
push 3
xor eax, eax
pop esi
mov byte [ebp - 0x69], al
cmp byte [ebp - 0x69], 0
je 0x41c310
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea ecx, [ebp - 0x170]
call fcn.00415bbf
push edi
lea eax, [ebp - 0x48]
mov ecx, 0x77ab
push 0x4734
push eax
lea edx, [ebp - 0x100]
call fcn.00419454
add esp, 0xc
lea ecx, [ebp - 0x14c]
push ebx
call fcn.00415aed
mov dword [ebp - 0x44], 0x667a876e
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0x8c], 0
jmp 0x41c376
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x14c]
mov dword [eax + ecx*4], 0xdf99ff60
inc dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], ebx
jl 0x41c35d
mov dword [ebp - 0x44], 0
jmp 0x41c476
push esi
lea ecx, [ebp - 0x114]
call fcn.00415aed
mov dword [ebp - 0xc4], 0x1f7b4007
xor eax, eax
mov dword [ebp - 0xf0], 0x3888
mov dword [ebp - 0x94], eax
jmp 0x41c3c9
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x114]
mov dword [ecx + edx*4], edi
inc dword [ebp - 0x94]
cmp dword [ebp - 0x94], esi
jl 0x41c3b4
mov ecx, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x114]
mov edx, dword [ecx]
mov ecx, dword [edi + 4]
add ecx, dword [edi]
cmp edx, ecx
jge 0x41c3f5
cmp dword [edi], eax
jne 0x41c3f5
test edx, edx
je 0x41c3f5
xor edx, edx
inc edx
jmp 0x41c3f7
mov edx, eax
xor ecx, ecx
cmp edx, 0x33c0
setge cl
cmp ecx, dword [ebp - 0x44]
jle 0x41c40a
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x114]
xor ecx, ecx
mov edx, dword [esi]
sub edx, 0xb607
imul edx, dword [esi + 8]
cmp edx, dword [edi + 4]
setge cl
imul ecx, ecx, 0x507e
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xf0]
cmp dword [esi + 8], eax
jl 0x41c547
mov byte [ebp - 0x57], al
cmp byte [ebp - 0x57], al
je 0x41c462
cmp dword [ebp - 0x44], edi
jle 0x41c38a
lea ecx, [ebp - 0x14c]
call fcn.00415bbf
call fcn.0041aef3
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x100]
mov edi, dword [ebp - 0x188]
cmp dword [eax], 0xd982
mov eax, dword [ebp - 0x214]
sete cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
dec dword [edi + 8]
cmp eax, edx
setle cl
xor eax, eax
cmp ecx, 0xd7d2
setg al
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
cmp dword [edi + 8], eax
mov eax, dword [ebp - 0x100]
sete dl
xor ecx, ecx
cmp dword [eax + esi*4], edx
sete cl
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x188]
call fcn.00415bbf
dec dword [ebp - 0x124]
push 1
pop edi
push 3
pop esi
jns 0x41bf42
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], esi
jle 0x41b73a
lea ecx, [ebp - 0x100]
call fcn.00415bbf
mov dword [ebp - 0xc], 0xffffffff
xor eax, eax
mov dword [ebp - 0x20], 0xf2c9
mov dword [ebp - 0x68], 0x21f2
mov dword [ebp - 8], eax
jmp 0x41c5ae
xor edi, edi
inc edi
mov dword [ebp - 0x128], edi
mov byte [ebp - 0x5e], al
cmp byte [ebp - 0x5e], al
je 0x41c56b
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x28], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x41c5a4
mov dword [ebp - 0xc], eax
jmp 0x41c5c6
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x28], 0x9dada439
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x41c5b8
mov dword [ebp - 0xc], eax
jmp 0x41c6dd
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 8], 0xfffffffa
mov dword [ebp - 0x1c], 9
mov dword [ebp - 4], eax
cmp dword [ebp - 4], eax
jl 0x41c6d1
mov dword [ebp - 0x24], 0xded68044
mov dword [ebp - 0x18], 0x7904
mov dword [ebp - 0x10], 0x34d71b36
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jl 0x41c6c8
mov dword [ebp - 0x1c], 0x5a1ec8f9
xor ebx, ebx
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x28]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x28]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x28]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x28]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x28]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x28]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0xffffffff
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x28]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x28]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x28]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edi
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
sub edx, ecx
mov ecx, dword [ebp - 0x20]
cmp edx, ecx
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x68]
sete bl
xor edx, edx
cmp ebx, ecx
setge dl
xor ecx, ecx
cmp edx, 0x15ed
setl cl
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x28]
imul edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x28], edx
dec dword [ebp - 0x24]
jns 0x41c615
dec dword [ebp - 4]
jns 0x41c5f4
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + ecx*4 - 0x28], eax
jne 0x41c6e6
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x41c5d3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret