Function at 0x40edac
Capabilities:
Set file attributes

Disassembly:
je 0x40c486
jne 0x40c486
call 0x10651115
mov ecx, dword [esp + 0x10]
mov edx, 0x40330a
push 6
jmp 0x40d78a
call fcn.0040f4b7
pop ecx
mov ebx, eax
jo 0x40d797
jno 0x40d797
call 0x65ceb024
hlt
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
je 0x40e6bf
jge 0x40e49c
jl 0x40e49c
call 0x1b1e810
jo 0x40e4a1
jno 0x40e4a1
call 0x1b5e819
je 0x40e4a6
jne 0x40e4a6
call 0x1b2e81d
jae 0x40e4ab
jb 0x40e4ab
call 0x3bbf49a
jmp 0x40e4bc
jp 0x40e4b2
call 0x1bfe834
jle 0x40e4b7
jg 0x40e4b7
call 0x1b1e82b
jo 0x40e4bc
jno 0x40e4bc
call 0xb865714d
add byte [eax], al
add byte [edx + 3], dh
lea ecx, [esp + 0xb8]
jb 0x40e4c8
jae 0x40e4c8
call 0x80b7b4
add byte [ebp + 3], dh
call 0x41249f
jne 0x40e4d2
je 0x40e4d2
call 0x46559d5
push dword [esp + 4]
call sub.ntdll.dll_NtClose
js 0x40e4e0
jns 0x40e4e0
call 0x1bee863
jg 0x40e4e5
jle 0x40e4e5
call 0x1bfe867
jle 0x40e4ea
jg 0x40e4ea
call 0x1bde86a
jl 0x40e4ef
jge 0x40e4ef
call 0x1b9e86b
js 0x40e4f4
jns 0x40e4f4
call 0x1b8e871
jns 0x40e4f9
js 0x40e4f9
call 0x1b8e876
jns 0x40e4fe
js 0x40e4fe
call 0x1bbe87c
jp 0x40e503
jnp 0x40e503
call 0x1b3e879
jb 0x40e508
jae 0x40e508
call 0x10653197
mov ecx, dword [esp + 0x10]
mov edx, 0x4032fb
push 4
call fcn.0040f4b7
pop ecx
mov ebx, eax
jae 0x40e520
jb 0x40e520
call 0x1b0e895
jno 0x40e525
jo 0x40e525
call 0x1b4e89e
jne 0x40e52a
je 0x40e52a
call 0x1b1e89e
jo 0x40e52f
jno 0x40e52f
call 0x1b6e8aa
ja 0x40e534
jbe 0x40e534
call 0x1bfe8b6
jle 0x40e539
jg 0x40e539
call 0x1bbe8b7
jp 0x40e53e
jnp 0x40e53e
call 0x1bce8bf
jge 0x40e543
jl 0x40e543
call 0x1b1e8b7
jo 0x40e548
jno 0x40e548
call 0x1bde8c8
jl 0x40e54d
jge 0x40e54d
call 0x33263a
invalid
jmp 0x40d792
jg 0x40e6c4
jle 0x40e6c4
call fcn.0042f730
add byte [edi - 0x73], dl
test byte [eax + ebx*2], ah
add al, byte [eax]
add byte [eax - 0x18], dl
movsb byte es:[edi], byte [esi]
dec ecx
invalid
push 0x210
push edi
lea eax, [esp + 0x258]
push eax
call fcn.0040307b
add esp, 0xc
lea edx, [esp + 0x464]
mov esi, dword [esp + 0x250]
lea ebx, [esp + 0xdc]
lea edi, [esp + 0x68]
mov eax, dword [edx - 4]
jo 0x40e6fb
jno 0x40e6fb
call 0x1bdea7b
jl 0x40e700
jge 0x40e700
call 0x1b3ea76
jb 0x40e705
jae 0x40e705
call 0x1b0ea7a
jno 0x40e70a
jo 0x40e70a
call 0x8653399
mov ecx, dword [esp + 8]
mov dword [ebx], 0x40110000
mov dword [ebx + 4], ecx
and dword [ebx + 8], 0
mov dword [ebx + 0xc], 7
mov dword [ebx + 0x10], 1
mov word [ebx + 0x14], 2
je 0x40e734
jne 0x40e734
call 0x5094e0c1
mov ecx, edi
push ebx
push eax
call fcn.00410a00
pop eax
pop ecx
cmp word [edi + 4], 0
je 0x40e89d
jno 0x40e74f
jo 0x40e74f
call fcn.00425a3c
add byte [ecx - 0x72d7db8c], cl
mov esp, 0xa8024
add byte [eax + 3], bh
jmp 0x40e8c6
jns 0x40e764
call 0x1b2eadb
jae 0x40e769
jb 0x40e769
call fcn.004203d5
add byte [edx], ch
push 0x11c
push 0
push edi
call fcn.00403060
add esp, 0xc
lea esi, [esp + 0x80]
mov edx, 0x403f02
ja 0x40e78a
jbe 0x40e78a
call 0x4ca9d917
inc eax
add byte [edx + 0x15], ch
mov ecx, esi
push 0x403e4c
push 0x15
call fcn.00410a00
pop eax
pop ecx
movzx edx, word [esi + 4]
mov ebx, dword [esp + 0x10]
test dx, dx
jne 0x40ea5a
jne 0x40e7b0
je 0x40e7b0
call 0x2865343f
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x80]
lea eax, [esp + 0xa98]
mov dword [eax - 8], 0x18
add ecx, ecx
mov word [eax - 4], cx
jnp 0x40e7d4
jp 0x40e7d4
call 0x24b5e729
sbb al, 0x50
push ecx
push dword [esp + 0x1c]
push eax
call fcn.0040307b
add esp, 0xc
lea eax, [esp + 0x100]
js 0x40e7ee
jns 0x40e7ee
call 0x40e9da
add byte [eax], al
call 0x90657486
adc dword [eax], eax
add byte [eax + 0x70], ch
add al, 0
add byte [ecx + 0x68], dl
sbb al, 1
add byte [eax], al
call 0x40e7f4
add al, ch
lea ecx, [esp + 0x1190]
push 0x470
push ecx
push 0x11c
push edi
push 0x6d0008
push eax
push 0
push 0
push 0
mov dword [esp + 0x40], esi
push esi
call sub.ntdll.dll_NtDeviceIoControlFile
cmp eax, 0xc0000010
je 0x40ea31
test byte [eax], cl
add al, byte [eax]
invalid
cmp eax, 0xc0000022
je 0x40e9ab
test eax, eax
je 0x40e9b5
mov si, 0xe
cmp eax, 0xc0000061
jne 0x40ea3a
jp 0x40e850
jnp 0x40e850
call fcn.0042ca3d
add byte [ebx + 0x9742cfa], al
jmp 0x40ea36
cmp edx, 0x41
jne 0x40f48e
lea esi, [esp + 0x1190]
jge 0x40e86f
jl 0x40e86f
call 0xdf9e82
jb 0x40e875
movzx ebx, byte [esi + 0x7200]
add byte [ebx + 0x37d01eb], al
sub ebx, 1
jge 0x40e87e
jl 0x40e87e
call 0xed6a91
add byte [eax], al
jb 0x40e930
mov ecx, esi
jb 0x40e88b
jae 0x40e88b
call 0x1b2ec02
jae 0x40e890
jb 0x40e890
call 0x7e847c
add byte [ecx + 0x720c6], al
add bl, ch
fnstenv [edi + 3]
call 0x412630
add esi, 0x720
jmp 0x40e876
ja 0x40e8a2
jbe 0x40e8a2
call 0x68652d31
mov eax, dword [esp + 0x68]
cmp esi, 0x186
mov dword [esp + 0xc], eax
jbe 0x40edf0
call 0x40e8bc
add al, ch
push dword [esp + 0xc]
call sub.ntdll.dll_NtClose
jae 0x40e8cb
jb 0x40e8cb
call 0x1b4ec44
jne 0x40e8d0
je 0x40e8d0
call 0x1b9ec4c
js 0x40e8d5
jns 0x40e8d5
call 0x1bbec53
jp 0x40e8da
jnp 0x40e8da
call 0x1b9ec56
js 0x40e8df
jns 0x40e8df
call 0x1bfec61
jle 0x40e8e4
jg 0x40e8e4
call 0x1b7ec5e
jbe 0x40e8e9
ja 0x40e8e9
call 0x1b5ec61
je 0x40e8ee
jne 0x40e8ee
call 0x1b1ec62
jo 0x40e8f3
jno 0x40e8f3
call 0x3cade0
dec dword [ebp + 0x119024b4]
add byte [eax], al
jmp 0x40e4bc
jg 0x40e904
jle 0x40e904
call 0xdf9f17
jb 0x40e90a
movzx ebx, byte [esi + 0x7200]
add byte [ebx + 0x37901eb], al
sub ebx, 1
jns 0x40e913
js 0x40e913
call 0xf1ca0489
jb 0x40e930
mov ecx, esi
call 0x40e91d
add al, ch
jo 0x40e923
jno 0x40e923
call 0x7df20f
add byte [ecx + 0x720c6], al
add bl, ch
fisttp dword [ebx - 0x74ebdbbc]
pop esp
and al, 4
call 0x412630
add esi, 0x720
jmp 0x40e90b
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 4]
jle 0x40e93d
jg 0x40e93d
call 0x1b7ecb7
jbe 0x40e942
ja 0x40e942
call 0x1beecc5
jg 0x40e947
jle 0x40e947
call 0x1b4ecc0
jne 0x40e94c
je 0x40e94c
call 0x1bbecca
jp 0x40e951
jnp 0x40e951
call 0x1bfecd3
jle 0x40e956
jg 0x40e956
call 0x1b9ecd2
js 0x40e95b
jns 0x40e95b
call 0x40eb47
add byte [eax], al
call 0x7fcbd1b6
add al, byte [eax]
call 0x40e961
add al, ch
push eax
call sub.ntdll.dll_NtClose
test bx, bx
jnp 0x40e970
jp 0x40e970
call 0x1b8eced
jns 0x40e975
js 0x40e975
call 0x1b3eceb
jb 0x40e97a
jae 0x40e97a
call 0xdb426e8d
invalid
jne 0x40c481
jb 0x40e985
jae 0x40e985
call 0x10653614
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
lock xadd dword [ecx], edx
je 0x40e995
jne 0x40e995
call 0x11a8f303
xor eax, dword [eax]
push 9
push 0x403311
push 0
call fcn.0040f5de
add esp, 0xc
jmp 0x40d790
jo 0x40e9b0
jno 0x40e9b0
call fcn.00416b9d
add byte [ebx - 0x74d7dbb4], cl
inc esp
and al, 0x18
jmp 0x40ea36
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
lea ebx, [esp + 0x119c]
lea eax, [eax + ecx*2]
sub dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jno 0x40e9d4
jo 0x40e9d4
call 0x84395d63
out dx, al
add dword [ebx + eax + 0x7d], edi
add eax, ebp
mov esi, dword [ebx - 8]
sub esi, 1
jl 0x40e9df
jge 0x40e9df
call 0x5b26bf2
add byte [eax], al
jb 0x40ef56
jle 0x40e9ea
jg 0x40e9ea
call 0x8344a0fd
clc
sbb byte [ecx + 0x72182444], cl
xor dword [edi + 3], edi
movzx eax, word [ebx]
cmp eax, 0x18
mov dword [esp + 0x18], eax
jb 0x40ea27
jg 0x40e9fb
jle 0x40e9fb
call 0x8e3d658a
test byte [eax + edx*4], ah
adc dword [eax], eax
add byte [edi + 3], bh
mov edi, dword [ebx - 4]
lea eax, [esp + 0x1190]
jg 0x40ea0a
jle 0x40ea0a
call 0xf9cab10f
add edi, eax
mov ecx, edi
push 0xc
pop edx
push 0xc
push 0x403f2e
call fcn.00410cf9
pop ecx
pop edx
test al, 1
jne 0x40efc8
jne 0x40ea2c
je 0x40ea2c
call 0xeb59adb3
cmpsb byte [esi], byte es:[edi]
add ebx, 0x18
jmp 0x40e9d7
jne 0x40ea36
je 0x40ea36
call 0x4aa8a0
mov si, 9
call 0x40ea40
add al, ch
jg 0x40ea46
jle 0x40ea46
call 0x1c655f49
push dword [esp + 0x1c]
call sub.ntdll.dll_NtClose
jp 0x40ea54
jnp 0x40ea54
call 0x106546e3
mov ebx, dword [esp + 0x10]
mov edx, esi
jl 0x40ea5f
jge 0x40ea5f
call 0x1bcede0
jge 0x40ea64
jl 0x40ea64
call 0x3bdc0f1
mov esi, edx
jl 0x40ea6b
jge 0x40ea6b
call 0x1b6ede6
ja 0x40ea70
jbe 0x40ea70
call 0x1baedef
jnp 0x40ea75
jp 0x40ea75
call 0x1b6edf0
ja 0x40ea7a
jbe 0x40ea7a
call 0x14655f7d
push dword [esp + 0x14]
call sub.ntdll.dll_NtClose
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
mov eax, esi
jne 0x40ea92
je 0x40ea92
call 0x77016ffc
add esi, dword [edi + 1]
test ax, ax
jbe 0x40ea9a
ja 0x40ea9a
call 0x1bfee1c
jle 0x40ea9f
jg 0x40ea9f
call 0x1b4ee18
jne 0x40eaa4
je 0x40eaa4
call 0x1b4ee1d
jne 0x40eaa9
je 0x40eaa9
call 0x1b9ee25
js 0x40eaae
jns 0x40eaae
call 0x1b9ee2a
js 0x40eab3
jns 0x40eab3
call 0xe26ec6
add byte [eax], al
je 0x40eb5a
mov esi, edx
mov edx, 0x4032b0
jns 0x40eac5
js 0x40eac5
call 0x8abc452
mov ecx, ebx
push 8
call fcn.0040f4b7
mov edx, esi
add esp, 4
mov ebx, eax
mov esi, dword [esp + 0xc]
js 0x40eade
jns 0x40eade
call 0xe897e46b
iretd
mov ecx, edi
push esi
call fcn.00409cb5
pop eax
jno 0x40eaec
jo 0x40eaec
call 0x1bdee6c
jl 0x40eaf1
jge 0x40eaf1
call 0x1b2ee68
jae 0x40eaf6
jb 0x40eaf6
call 0x1b5ee6e
je 0x40eafb
jne 0x40eafb
call 0x1beee7e
jg 0x40eb00
jle 0x40eb00
call 0x1b7ee7a
jbe 0x40eb05
ja 0x40eb05
call 0x1b0ee7a
jno 0x40eb0a
jo 0x40eb0a
call 0x1b6ee85
ja 0x40eb0f
jbe 0x40eb0f
call 0x1b6ee8a
ja 0x40eb14
jbe 0x40eb14
call 0x1beee97
jg 0x40eb19
jle 0x40eb19
call 0x1b4ee92
jne 0x40eb1e
je 0x40eb1e
call 0x1baee9d
jnp 0x40eb23
jp 0x40eb23
call 0x1b7ee9d
jbe 0x40eb28
ja 0x40eb28
call 0x1bbeea6
jp 0x40eb2d
jnp 0x40eb2d
call 0x1b9eea9
js 0x40eb32
jns 0x40eb32
call 0x1b7eeac
jbe 0x40eb37
ja 0x40eb37
call 0x1b6eeb2
ja 0x40eb3c
jbe 0x40eb3c
call 0x1b0eeb1
jno 0x40eb41
jo 0x40eb41
call 0x1b3eeb7
jb 0x40eb46
jae 0x40eb46
call 0x1b7eec0
jbe 0x40eb4b
ja 0x40eb4b
call 0x1bceecc
jge 0x40eb50
jl 0x40eb50
call 0x1b0eec5
jno 0x40eb55
jo 0x40eb55
call 0x2d2442
push dword [esi + 3]
jmp 0x40d792
jbe 0x40eb5f
ja 0x40eb5f
call 0x1bceee0
jge 0x40eb64
jl 0x40eb64
call 0x1b6eedf
ja 0x40eb69
jbe 0x40eb69
call 0x1baeee8
jnp 0x40eb6e
jp 0x40eb6e
call 0x598cd6
add byte [eax], al
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
lea esi, [esp + 0x34]
lea edx, [esp + 0x1190]
mov ecx, esi
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [edx], eax
jp 0x40eb91
jnp 0x40eb91
call 0x80657022
or al, byte [eax]
add byte [eax - 0x47], ch
xor al, byte [eax]
lea eax, [esp + 0xa80]
push 0x4032b9
push dword [esp + 0x1c]
push eax
call fcn.00410d99
add esp, 0xc
je 0x40ebaf
jne 0x40ebaf
call 0x4bf6f19
add byte [ebx + ebx + 0x70], dh
add esi, dword [ecx + 1]
cmp word [esi + 4], 0
je 0x40ebd1
jo 0x40ebbb
jno 0x40ebbb
call 0xbbfbc548
xor al, byte [eax]
mov ecx, ebx
mov edx, 0x4032bb
push 7
call fcn.0040f4b7
pop ecx
mov ebx, eax
jmp 0x40f40d
jp 0x40ebd6
jnp 0x40ebd6
call 0x34656065
mov esi, dword [esp + 0x34]
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x460]
mov dword [edx], esi
jg 0x40ebec
jle 0x40ebec
call 0x6353d8
add byte [ebp + 0x4602484], cl
add byte [eax], al
call 0x410e58
lea eax, [esp + 0x460]
cmp word [eax + 0x48], 0
je 0x40ec2a
js 0x40ec04
jns 0x40ec04
call 0xc3fbc591
xor al, byte [eax]
mov ecx, ebx
mov edx, 0x4032c3
push 7
call fcn.0040f4b7
pop ecx
mov ebx, eax
jae 0x40ec1a
jb 0x40ec1a
call 0x7d13d474
add al, byte [eax]
push esi
call sub.ntdll.dll_NtClose
jo 0x40ec25
jno 0x40ec25
call 0x48d012
add byte [ecx + 0x7c142474], cl
add edi, dword [ebp + 1]
jmp 0x40f40d
mov dword [esp + 0x14], esi
jl 0x40ec33
jge 0x40ec33
call 0x8999fea1
cli
push 0x12
pop ecx
mov edx, edi
lea edi, [esp + 0x150]
lea esi, [esp + 0x460]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x670]
mov eax, dword [ebx + 0xac]
js 0x40ec5a
jns 0x40ec5a
call 0xe891dde7
shr byte [ebx + 0xf58ffff], 0xb7
pop esi
adc al, 0x66
test ebx, ebx
mov ecx, esi
push eax
call fcn.00409822
pop eax
movzx ebx, word [esi + 0x14]
test bx, bx
je 0x40ec84
jge 0x40ec71
jl 0x40ec71
call 0x14656174
push dword [esp + 0x14]
call sub.ntdll.dll_NtClose
jl 0x40ec7f
jge 0x40ec7f
call 0x48726c
add byte [ebx + 3], bh
jmp 0x40f409
jnp 0x40ec89
jp 0x40ec89
call 0x80657118
push es
add byte [eax], al
mov eax, dword [esp + 0x680]
movq xmm0, qword [esp + 0x670]
movsd xmm1, qword [esp + 0x678]
lea ecx, [esp + 0x80]
lea edx, [esp + 0x2c]
lea esi, [esp + 0x78]
mov dword [edx], ecx
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movq qword [ecx], xmm0
jl 0x40ecc4
jge 0x40ecc4
call 0x4abde51
mov ecx, esi
push 4
lea eax, [esp + 0x5c]
push eax
call fcn.0040988f
pop eax
pop ecx
movzx ebx, word [esi + 4]
test bx, bx
je 0x40ed06
lea ecx, [esp + 0x80]
js 0x40ece9
jns 0x40ece9
call 0xfff089d5
push dword [ecx + 3]
call 0x409c8a
jno 0x40ecf3
jo 0x40ecf3
call 0x146561f6
push dword [esp + 0x14]
call sub.ntdll.dll_NtClose
jae 0x40ed01
jb 0x40ed01
call 0x47f0ee
add byte [ebp - 0x179fdb8c], cl
add dword [eax], eax
add byte [eax], al
jmp 0x40f409
lea esi, [esp + 0x60]
call 0x40ed10
add al, ch
lea edx, [esp + 0x2c]
mov ecx, esi
push dword [esp + 0x18]
lea eax, [esp + 0xa84]
push eax
call fcn.0040988f
pop eax
pop ecx
movzx ebx, word [esi + 4]
test bx, bx
je 0x40ed5c
lea ecx, [esp + 0x80]
jb 0x40ed3f
jae 0x40ed3f
call 0xfff0342b
push dword [ebx + eax + 0x75]
add eax, ebp
call 0x409c8a
je 0x40ed49
jne 0x40ed49
call 0x1465624c
push dword [esp + 0x14]
call sub.ntdll.dll_NtClose
jl 0x40ed57
jge 0x40ed57
call 0x479b44
add byte [ebx + 3], bh
jmp 0x40f409
jnp 0x40ed61
jp 0x40ed61
call 0x2c6539f2
lea ecx, [esp + 0x2c]
push 0x5c
pop edx
call fcn.0040991a
test ax, ax
je 0x40ed9d
lea ecx, [esp + 0x80]
mov ebx, eax
js 0x40ed80
jns 0x40ed80
call 0xffeff36c
push dword [ebx + eax + 0x75]
add eax, ebp
call 0x409c8a
je 0x40ed8a
jne 0x40ed8a
call 0x1465628d
push dword [esp + 0x14]
call sub.ntdll.dll_NtClose
je 0x40ed98
jne 0x40ed98
call 0x475a85
add byte [ebp + 0x7e682474], cl
add edi, dword [edi + 1]
jmp 0x40f409
lea esi, [esp + 0x68]
jle 0x40eda6
jg 0x40eda6
call 0x2c654237
lea edx, [esp + 0x2c]
mov ecx, esi
push 2
push 0x4032cb
call fcn.0040988f
pop eax
pop ecx
movzx ebx, word [esi + 4]
test bx, bx
je 0x40ef76
lea ecx, [esp + 0x80]
ja 0x40edd3
jbe 0x40edd3
call 0xffefa0bf
push dword [edi + 3]
call 0x409c8a
ja 0x40eddd
jbe 0x40eddd
call 0x146562e0
push dword [esp + 0x14]
call sub.ntdll.dll_NtClose
jl 0x40edeb
jge 0x40edeb
call 0x4707d8
add byte [ebp + 0x254248c], cl
add byte [eax], al
jmp 0x40f409
lea ecx, [esp + 0x254]
mov edx, esi
lea eax, [esi + esi + 0xf]
lea edi, [esp + 0x119c]
jnp 0x40ee09
jp 0x40ee09
call 0x89770a9a
inc esp
and al, 0x14
lea ebx, [esi + esi]
mov dword [esp + 0x14], eax
mov byte [edi - 0xc], 1
jnp 0x40ee19
jp 0x40ee19
call 0x771805
add byte [ecx], dh
leave
call 0x412447
xor ecx, ecx
test al, 1
mov eax, dword [esp + 8]
cmovne eax, ecx
mov dword [edi - 8], eax
mov dword [edi - 4], ebx
ja 0x40ee34
jbe 0x40ee34
call 0x24c57b8b
pop eax
add al, byte [eax]
add byte [eax + 0x57], dl
push ebx
lea eax, [esp + 0x258]
push eax
push edi
call fcn.0040307b
add esp, 0xc
lea eax, [esp + 0x44]
jno 0x40ee4f
jo 0x40ee4f
call 0x753ff8bd
and al, 0x18
push 0xa
push dword [esp + 0x18]
lea ecx, [esp + 0x1198]
push ecx
push eax
push dword [esp + 0x1c]
call sub.ntdll.dll_NtSetInformationFile
cmp eax, 0xc0000022
je 0x40f115
cmp eax, 0xc0000034
je 0x40f121
cmp eax, 0xc0000035
je 0x40f0eb
cmp eax, 0xc000003a
je 0x40f101
cmp eax, 0xc00000d4
je 0x40f0f7
test eax, eax
jne 0x40f10b
jl 0x40eeab
jge 0x40eeab
call 0xc6563ae
push dword [esp + 0xc]
call sub.ntdll.dll_NtClose
lea ecx, [esp + 0xb8]
add byte [eax], al
jnp 0x40eec0
jp 0x40eec0
call 0x1b5f238
je 0x40eec5
jne 0x40eec5
call 0x1bdf245
jl 0x40eeca
jge 0x40eeca
call 0x1bff24c
jle 0x40eecf
jg 0x40eecf
call 0x1bef252
jg 0x40eed4
jle 0x40eed4
call 0x1bcf255
jge 0x40eed9
jl 0x40eed9
call 0x1b2f250
jae 0x40eede
jb 0x40eede
call 0x1b7f258
jbe 0x40eee3
ja 0x40eee3
call 0x1b0f258
jno 0x40eee8
jo 0x40eee8
call 0x6330b2
mov byte [ecx + 0x22], 0
ja 0x40eef1
jbe 0x40eef1
call 0x7698dd
add byte [ebx + 3], dh
call 0x41249f
jae 0x40eefb
jb 0x40eefb
call 0x46563fe
push dword [esp + 4]
call sub.ntdll.dll_NtClose
jbe 0x40ef09
ja 0x40ef09
call 0x40f0f5
add byte [eax], al
call 0x1b6f28b
call 0x40ef0f
add al, ch
ja 0x40ef15
jbe 0x40ef15
call 0x40f101
add byte [eax], al
call 0x1b2f293
call 0x40ef1b
add al, ch
jae 0x40ef21
jb 0x40ef21
call 0x1b7f29b
jbe 0x40ef26
ja 0x40ef26
call 0x1bff2a8
jle 0x40ef2b
jg 0x40ef2b
call 0x1b6f2a6
ja 0x40ef30
jbe 0x40ef30
call 0x10653bbf
mov ecx, dword [esp + 0x10]
xor edx, edx
inc edx
lock xadd dword [ecx], edx
jo 0x40ef40
jno 0x40ef40
call 0xa8f6ae
xor eax, dword [eax]
push 7
push 0x403300
push 0
call fcn.0040f5de
add esp, 0xc
jmp 0x40e519
jb 0x40ef5b
jae 0x40ef5b
call 0x1c65645e
push dword [esp + 0x1c]
call sub.ntdll.dll_NtClose
ja 0x40ef69
jbe 0x40ef69
call 0x49a9d3
mov dx, 8
mov ebx, dword [esp + 0x10]
jmp 0x40ea5a
jns 0x40ef7b
js 0x40ef7b
call 0x2c653c0c
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x150]
push 1
push 0x4032ce
call fcn.00410e72
pop ecx
pop edx
test ax, ax
je 0x40f099
lea ecx, [esp + 0x80]
mov ebx, eax
jb 0x40efab
jae 0x40efab
call 0xffedca97
push dword [eax + 3]
call 0x409c8a
jo 0x40efb5
jno 0x40efb5
call 0x146564b8
push dword [esp + 0x14]
call sub.ntdll.dll_NtClose
jae 0x40efc3
jb 0x40efc3
call 0x4531b0
add al, ch
add dword [eax], eax
add byte [eax], al
jmp 0x40f409
call 0x40efce
add al, ch
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
shr ecx, 1
lea eax, [ecx + eax - 0xc]
cmp eax, 0x104
mov dword [esp + 0x18], eax
jbe 0x40f004
jl 0x40efed
jge 0x40efed
call 0x1c6564f0
push dword [esp + 0x1c]
call sub.ntdll.dll_NtClose
jg 0x40effb
jle 0x40effb
call 0x4caa65
mov dx, 0xb
jmp 0x40ef6d
lea esi, [ecx - 0xc]
mov ebx, ecx
lea ecx, [esp + 0x460]
ja 0x40f015
jbe 0x40f015
call 0x7259b79c
add esi, dword [ebx + 1]
add edi, 0x18
jb 0x40f01d
jae 0x40f01d
call 0x5076f4ae
lea eax, [esi + esi]
push eax
push edi
push ecx
call fcn.0040307b
add esp, 0xc
lea eax, [esp + esi*2 + 0x460]
xor ecx, ecx
jle 0x40f039
jg 0x40f039
call 0x20653c76
cmp dword [esp + 0x20], ecx
je 0x40f053
jns 0x40f044
js 0x40f044
call 0x246544d3
mov edx, dword [esp + 0x24]
movzx edx, word [edx + ecx*2]
mov word [eax + ecx*2], dx
inc ecx
jmp 0x40f034
mov eax, dword [esp + 0x20]
xor ecx, ecx
lea eax, [eax + ebx - 0xc]
cmp eax, ecx
jg 0x40f064
jle 0x40f064
call 0x1027477
add byte [eax], al
je 0x40f12b
ja 0x40f06f
jbe 0x40f06f
call 0x4cfd73d9
pushal
add al, 0
add byte [eax], al
cmp word [esp + ecx*2 + 0x460], 0
lea ecx, [ecx + 1]
jne 0x40f05d
jnp 0x40f082
jp 0x40f082
call 0x1c656585
push dword [esp + 0x1c]
call sub.ntdll.dll_NtClose
mov dx, 0xd
ja 0x40f094
jbe 0x40f094
call 0x3fc581
invalid
jmp 0x40ef6d
jnp 0x40f09e
jp 0x40f09e
call 0x2c653d2f
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x150]
push 2
push 0x4032d0
call fcn.00410e72
pop ecx
pop edx
test ax, ax
je 0x40f193
lea ecx, [esp + 0x80]
mov ebx, eax
je 0x40f0ce
jne 0x40f0ce
call 0xffeca8ba
push dword [ebx + eax + 0x75]
add eax, ebp
call 0x409c8a
je 0x40f0d8
jne 0x40f0d8
call 0x146565db
push dword [esp + 0x14]
call sub.ntdll.dll_NtClose
jg 0x40f0e6
jle 0x40f0e6
call 0x440fd3
add al, ch
add dword [eax], eax
add byte [eax], al
jmp 0x40f409
call 0x40f0f1
add al, ch
jmp 0x40e8bd
je 0x40f0fc
jne 0x40f0fc
call 0x38ade9
invalid
jmp 0x40e8bd
jl 0x40f106
jge 0x40f106
call 0x38a3f3
push dword [ebx + 3]
jmp 0x40e8bd
jae 0x40f110
jb 0x40f110
call 0x3899fd
invalid
jmp 0x40e8bd
call 0x40f11b
add al, ch
jmp 0x40e8bd
jno 0x40f126
jo 0x40f126
call 0x388413
push dword [esi + 3]
jmp 0x40e8bd
jbe 0x40f130
ja 0x40f130
call 0x1c656633
push dword [esp + 0x1c]
call sub.ntdll.dll_NtClose
lea edi, [esp + 0x1190]
jbe 0x40f145
ja 0x40f145
call 0x1baf4c4
jnp 0x40f14a
jp 0x40f14a
call 0x1b9f4c6
js 0x40f14f
jns 0x40f14f
call 0x1b8f4cc
jns 0x40f154
js 0x40f154
call 0x40f340
add byte [eax], al
call 0x806585ec
or al, byte [eax]
add byte [ecx + 0x2474fff9], cl
sbb byte [ebp + 0x4642484], cl
add byte [eax], al
call 0x40f15a
add al, ch
lea edx, [esp + 0xa80]
mov ecx, edi
push dword [esp + 0x18]
lea eax, [esp + 0x464]
push eax
push 0x30d
call fcn.004095f9
add esp, 0xc
jl 0x40f182
jge 0x40f182
call 0x5ccbf911
and al, 0x10
mov eax, dword [edi]
mov ebx, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x18], eax
jmp 0x40ea6b
jno 0x40f198
jo 0x40f198
call 0x14653627
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1190]
mov dword [ecx], eax
and dword [ecx + 4], 0
and dword [ecx + 8], 0
mov byte [ecx + 0x410], 1
lea ecx, [esp + 0x100]
lea edx, [esp + 0x1190]
jle 0x40f1c7
jg 0x40f1c7
call 0x681bb3
add byte [esi - 0x7d], ah
mov esp, 0x11024
add byte [eax], al
call 0x4118f5
cmp word [esp + 0x110], 0
jne 0x40f3ba
jbe 0x40f1e0
ja 0x40f1e0
call 0xc65ae64
add dword [eax], eax
add byte [eax], al
cmp byte [esp + 0x10c], 0
je 0x40f3ba
mov eax, dword [esp + 0x100]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0x18], eax
jae 0x40f205
jb 0x40f205
call 0x865ae89
add dword [eax], eax
add byte [edx], al
cmp byte [esp + 0x108], 2
jne 0x40f287
jbe 0x40f214
ja 0x40f214
call 0x44653ea5
lea ecx, [esp + 0x44]
lea edx, [esp + 0x3c]
push 0x4032b9
push ebx
push dword [esp + 0x20]
call fcn.00411c24
add esp, 0xc
cmp word [esp + 0x48], 0
jne 0x40f3b0
ja 0x40f23f
jbe 0x40f23f
call 0x446536ce
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x250]
lea edx, [esp + 0x5c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], eax
js 0x40f25b
jns 0x40f25b
call 0x5ceb47
add byte [esi - 0x7d], ah
mov esp, 0x29824
add byte [eax], al
call 0x410e58
cmp word [esp + 0x298], 0
je 0x40f360
jge 0x40f274
jl 0x40f274
call 0x20656777
push dword [esp + 0x20]
call sub.ntdll.dll_NtClose
jbe 0x40f282
ja 0x40f282
call fcn.00421c6f
add byte [esi + 3], bh
jmp 0x40f3b0
jle 0x40f28c
jg 0x40f28c
call 0x1b2f603
jae 0x40f291
jb 0x40f291
call 0x1bef614
jg 0x40f296
jle 0x40f296
call 0x1b6f611
ja 0x40f29b
jbe 0x40f29b
call 0x1465372a
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xdc]
lea edx, [esp + 0x70]
mov dword [esp + 0x70], eax
jg 0x40f2b3
jle 0x40f2b3
call 0x407e3d1f
add byte [ebx - 1], dl
je 0x40f2e0
push 0x403d4a
push ebx
push dword [esp + 0x20]
call fcn.00411aaa
add esp, 0xc
movzx eax, word [esp + 0xe0]
test ax, ax
je 0x40f2f3
and al, ch
call 0x8340f2ea
les ecx, [edi + ecx]
mov bh, 0x84
and al, 0xe0
add byte [eax], al
add byte [esi - 0x7b], ah
sal byte [ecx + 0x78], 3
js 0x40f2d7
jns 0x40f2d7
call 0x24c57c41
mov eax, 0x76000007
mov word [esp + 0x7b8], ax
jbe 0x40f2e4
add esi, dword [edi + 1]
ja 0x40f2e4
call 0x1b8f661
jns 0x40f2e9
js 0x40f2e9
call 0x1bef66c
jg 0x40f2ee
jle 0x40f2ee
call fcn.0041b0db
add al, ch
add dword [eax], eax
add byte [eax], al
jmp 0x40f3b0
call 0x40f2f9
add al, ch
mov esi, dword [esp + 0xdc]
lea ecx, [esp + 0x770]
lea edx, [esp + 0x40]
mov dword [esp + 0x40], esi
call 0x40f316
add al, ch
call fcn.00410068
je 0x40f321
jne 0x40f321
call 0x760cdb7b
add al, byte [eax]
push esi
call sub.ntdll.dll_NtClose
jne 0x40f32c
je 0x40f32c
call 0x24fd7696
mov eax, 7
cmp word [esp + 0x7b8], 0
jns 0x40f33a
js 0x40f33a
call 0x1b2f6b1
jae 0x40f33f
jb 0x40f33f
call 0x1b5f6b7
je 0x40f344
jne 0x40f344
call 0x3b25dbd
jne 0x40f3b0
jno 0x40f34b
jo 0x40f34b
call 0x8d9a05b9
mov esp, 0x15024
add byte [ebp + 0x77024b4], cl
add byte [eax], al
push 0x12
pop ecx
lea edi, [esp + 0x150]
lea esi, [esp + 0x770]
rep movsd dword es:[edi], dword [esi]
jmp 0x40f38b
je 0x40f365
jne 0x40f365
call 0x8d9a05d3
mov esp, 0x15024
add byte [ebp + 0x25024b4], cl
add byte [eax], al
push 0x12
pop ecx
lea edi, [esp + 0x150]
lea esi, [esp + 0x250]
rep movsd dword es:[edi], dword [esi]
ja 0x40f37d
jbe 0x40f37d
call 0x20656880
push dword [esp + 0x20]
call sub.ntdll.dll_NtClose
je 0x40f38b
jne 0x40f38b
call 0x1b1f6ff
jo 0x40f390
jno 0x40f390
call 0x2c654021
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x150]
push ebx
push dword [esp + 0x1c]
call fcn.00410e72
pop ecx
pop edx
test ax, ax
jne 0x40f44d
ja 0x40f3b5
jbe 0x40f3b5
call 0x3eeea2
push dword [ebx + 3]
jmp 0x40f1b4
jae 0x40f3bf
jb 0x40f3bf
call 0x1065404e
mov ecx, dword [esp + 0x10]
xor edx, edx
lea edi, [esp + 0x80]
inc edx
lock xadd dword [ecx], edx
mov esi, dword [edi + 4]
mov eax, dword [edi]
jle 0x40f3db
jg 0x40f3db
call 0x16ab4435
push esi
push eax
push 0x16
call fcn.0040f5de
add esp, 0xc
mov ecx, edi
mov ebx, eax
jp 0x40f3f0
jnp 0x40f3f0
call 0xffe989dc
dec dword [ebx + 0x753c2444]
add esi, dword [ecx + eax - 0x18]
call 0x409c8a
mov eax, dword [esp + 0x3c]
jne 0x40f3fe
je 0x40f3fe
call 0x752fdc52
add al, byte [eax]
push eax
call sub.ntdll.dll_NtClose
jl 0x40f409
jge 0x40f409
call 0x4657098
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
jmp 0x40ead5
lea ecx, [esp + 0x80]
mov ebx, eax
jne 0x40f45b
je 0x40f45b
call 0xffe91f47
invalid
call 0x409c8a
js 0x40f465
jns 0x40f465
call 0x14656968
push dword [esp + 0x14]
call sub.ntdll.dll_NtClose
jl 0x40f473
jge 0x40f473
call 0x3bb8962
jmp 0x40f409
jnp case.0x40d025.11
call 0x1bdf7fa
jl case.0x40cccb.11
jge case.0x40cccb.11
call 0x1b6f7fa
ja 0x40f484
jbe 0x40f484
call 0x1b2f7fb
jae 0x40f489
jb 0x40f489
call 0x1b6f804
ja 0x40f48e
jbe 0x40f48e
call 0x1bdf80e
jl 0x40f493
jge 0x40f493
call 0x139aced
add byte [eax], al
push esi
mov eax, 0xf8
jbe 0x40f49e
ja 0x40f49e
call 0x8b49662d
push ecx
add al, 3
inc ecx
adc byte [eax + 3], bh
mov esi, dword [ecx + 8]
mov edx, dword [ecx + 4]
add eax, dword [ecx + 0x10]
js 0x40f4ac
jns 0x40f4ac
call 0xe897b639
add dword [eax + 0x5e58ffff], ebp
mov ecx, eax
push esi
call fcn.00409cb5
pop eax
pop esi
ret