Function at 0x40dc00
Capabilities:
Check for time delay via gettickcount
Delete file
Get file version info
Impersonate file version information

Disassembly:
push 0xffffffffffffffff
push 0x44e51f
mov eax, dword fs:[0]
push eax
sub esp, 0x8c0
mov eax, dword [0x4612b0]
xor eax, esp
mov dword [esp + 0x8b8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4612b0]
xor eax, esp
push eax
lea eax, [esp + 0x8d4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x8e4]
mov dword [esp + 0x24], eax
xor esi, esi
mov dword [esp + 0x8dc], esi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x54], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x14], esi
call edi
sub eax, 2
je 0x40dc76
sub eax, 2
je 0x40dc76
sub eax, 4
je 0x40dc76
xor eax, eax
jmp 0x40dc82
push esi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, 1
sub eax, 1
mov ebx, dword [sym.imp.USER32.dll_GetActiveWindow]
mov ebp, dword [sym.imp.USER32.dll_GetCapture]
jne 0x40dca2
call ebx
call ebp
call dword [sym.imp.USER32.dll_GetClipboardOwner]
call fcn.00406890
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0
shr esi, 0x18
call fcn.0043a6c4
imul eax, eax, 0x63
add esp, 4
cmp esi, eax
jbe 0x40dcd1
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
call fcn.004308a0
cmp dword [esp + 0x904], 0x10
mov eax, dword [esp + 0x8f0]
jae 0x40dce9
lea eax, [esp + 0x8f0]
lea ecx, [esp + 0x54]
push ecx
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [esp + 0x50], eax
test eax, eax
je 0x40ed31
call edi
sub eax, 2
je 0x40dd11
sub eax, 2
je 0x40dd11
sub eax, 4
jne 0x40dd28
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
call fcn.00419840
call ebx
call ebp
call dword [sym.imp.USER32.dll_GetClipboardOwner]
mov esi, dword [esp + 0x50]
push esi
call fcn.004383c9
mov ebp, eax
mov eax, dword [esp + 0x8f4]
add esp, 4
cmp dword [esp + 0x904], 0x10
mov dword [esp + 0x18], ebp
jae 0x40dd53
lea eax, [esp + 0x8f0]
push ebp
push esi
push 0
push eax
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x40ed01
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x30]
push ecx
sub esp, 0x1c
mov esi, esp
xor ebx, ebx
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x44], esp
cmp eax, 0x10
jb 0x40dd9a
mov ecx, dword [edi]
jmp 0x40dd9c
mov ecx, edi
cmp ecx, 0x455600
ja 0x40ddd7
cmp eax, 0x10
jb 0x40ddad
mov ecx, dword [edi]
jmp 0x40ddaf
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x455600
jbe 0x40ddd7
cmp eax, 0x10
jb 0x40ddc3
mov edi, dword [edi]
push 0x1a
mov eax, 0x455600
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x40de1a
cmp eax, 0x1a
jae 0x40dde9
mov ecx, dword [esi + 0x14]
push ecx
push 0x1a
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x40ddf5
mov eax, dword [edi]
jmp 0x40ddf7
mov eax, edi
push 0x1a
push 0x455600
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x1a
jb 0x40de17
mov edi, dword [edi]
mov byte [edi + 0x1a], bl
lea ecx, [esp + 0x80]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8e8], 1
call fcn.00402020
mov esi, 8
cmp dword [eax + 0x18], esi
jb 0x40de44
mov eax, dword [eax + 4]
jmp 0x40de47
add eax, 4
push eax
push ebp
call sub.VERSION.dll_VerQueryValueW
mov edi, eax
cmp dword [esp + 0x40], esi
jb 0x40de63
mov edx, dword [esp + 0x2c]
push edx
call fcn.004393c9
add esp, 4
xor eax, eax
mov ebp, 7
lea esi, [esp + 0x58]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], ax
mov byte [esp + 0x8dc], al
call fcn.00429e20
cmp edi, ebx
je 0x40ed01
call fcn.00417430
test eax, eax
je 0x40de9d
call fcn.00419900
push 0x7fe
xor ebx, ebx
lea edx, [esp + 0xd2]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0xd8], cx
call fcn.0043fbd0
mov eax, dword [esp + 0x54]
movzx ecx, word [eax + 2]
movzx edx, word [eax]
add esp, 0xc
push ecx
push edx
lea eax, [esp + 0x30]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x44], esp
cmp eax, 0x10
jb 0x40def5
mov ecx, dword [edi]
jmp 0x40def7
mov ecx, edi
cmp ecx, 0x45561c
ja 0x40df32
cmp eax, 0x10
jb 0x40df08
mov ecx, dword [edi]
jmp 0x40df0a
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x45561c
jbe 0x40df32
cmp eax, 0x10
jb 0x40df1e
mov edi, dword [edi]
push 0x1e
mov eax, 0x45561c
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x40df75
cmp eax, 0x1e
jae 0x40df44
mov ecx, dword [esi + 0x14]
push ecx
push 0x1e
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x40df50
mov eax, dword [edi]
jmp 0x40df52
mov eax, edi
push 0x1e
push 0x45561c
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x1e
jb 0x40df72
mov edi, dword [edi]
mov byte [edi + 0x1e], bl
lea ecx, [esp + 0x80]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8e8], 2
call fcn.00402280
mov esi, 8
cmp dword [eax + 0x18], esi
jb 0x40df9f
mov eax, dword [eax + 4]
jmp 0x40dfa2
add eax, 4
push eax
lea edx, [esp + 0xd8]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
cmp dword [esp + 0x40], esi
jb 0x40dfc7
mov eax, dword [esp + 0x2c]
push eax
call fcn.004393c9
add esp, 4
xor ecx, ecx
lea esi, [esp + 0x58]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], cx
mov byte [esp + 0x8dc], cl
call fcn.00429e20
call fcn.00417430
test eax, eax
je 0x40dff4
call fcn.00406900
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xb0]
call fcn.0040f330
lea eax, [esp + 0x23]
mov byte [esp + 0x8dc], 3
mov byte [esp + 0x23], 0
lea edx, [eax + 1]
jmp 0x40e020
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e020
sub eax, edx
je 0x40e030
call fcn.00406970
mov edx, dword [esp + 0x8e8]
mov eax, dword [esp + 0x24]
push edx
call fcn.0040f370
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
xor edx, edx
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
add eax, 0x38
push ebx
mov word [ecx + 4], dx
call fcn.00402f90
lea eax, [esp + 0x44]
push eax
sub esp, 0x1c
mov esi, esp
mov byte [esp + 0x918], 4
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], 0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x50], esp
cmp eax, 0x10
jb 0x40e093
mov ecx, dword [edi]
jmp 0x40e095
mov ecx, edi
cmp ecx, 0x45563c
ja 0x40e0d0
cmp eax, 0x10
jb 0x40e0a6
mov ecx, dword [edi]
jmp 0x40e0a8
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x45563c
jbe 0x40e0d0
cmp eax, 0x10
jb 0x40e0bc
mov edi, dword [edi]
push 0xb
mov eax, 0x45563c
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x40e114
cmp eax, 0xb
jae 0x40e0e2
mov ecx, dword [esi + 0x14]
push ecx
push 0xb
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x40e0ee
mov eax, dword [edi]
jmp 0x40e0f0
mov eax, edi
push 0xb
push 0x45563c
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0xb
jb 0x40e110
mov edi, dword [edi]
mov byte [edi + 0xb], 0
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 5
call fcn.004028a0
mov byte [esp + 0x8f8], 6
cmp dword [eax + 0x18], 8
jb 0x40e142
mov eax, dword [eax + 4]
jmp 0x40e145
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 8
call fcn.0040ed80
cmp dword [esp + 0x40], 8
jb 0x40e186
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004393c9
add esp, 4
xor edx, edx
mov edi, 7
xor ebx, ebx
lea esi, [esp + 0x58]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], dx
mov byte [esp + 0x8dc], 3
call fcn.00429e20
mov eax, dword [esp + 0x8e8]
push eax
mov eax, dword [esp + 0x28]
call fcn.0040f370
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
add eax, 0x54
push ebx
mov word [ecx + 4], dx
call fcn.00402f90
lea eax, [esp + 0x44]
push eax
sub esp, 0x1c
mov esi, esp
mov byte [esp + 0x918], 9
mov ebp, 0xf
mov dword [esi + 0x18], ebp
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x50], esp
cmp eax, 0x10
jb 0x40e210
mov ecx, dword [edi]
jmp 0x40e212
mov ecx, edi
cmp ecx, 0x455648
ja 0x40e24c
cmp eax, 0x10
jb 0x40e223
mov ecx, dword [edi]
jmp 0x40e225
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x455648
jbe 0x40e24c
cmp eax, 0x10
jb 0x40e239
mov edi, dword [edi]
push ebp
mov eax, 0x455648
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x40e288
cmp eax, ebp
jae 0x40e25c
mov ecx, dword [esi + 0x14]
push ecx
push ebp
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x40e268
mov eax, dword [edi]
jmp 0x40e26a
mov eax, edi
push ebp
push 0x455648
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], ebp
jb 0x40e285
mov edi, dword [edi]
mov byte [edi + 0xf], bl
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0xa
call fcn.004024d0
mov byte [esp + 0x8f8], 0xb
cmp dword [eax + 0x18], 8
jb 0x40e2b6
mov eax, dword [eax + 4]
jmp 0x40e2b9
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0xd
call fcn.0040ed80
cmp dword [esp + 0x40], 8
jb 0x40e2fa
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004393c9
add esp, 4
xor edx, edx
mov edi, 7
xor ebx, ebx
lea esi, [esp + 0x58]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], dx
mov byte [esp + 0x8dc], 3
call fcn.00429e20
mov ebp, dword [esp + 0x8e8]
mov eax, dword [esp + 0x24]
push ebp
call fcn.0040f370
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
add eax, 0xe0
push ebx
mov word [ecx + 4], dx
call fcn.00402f90
lea eax, [esp + 0x44]
push eax
sub esp, 0x1c
mov esi, esp
mov byte [esp + 0x918], 0xe
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x50], esp
cmp eax, 0x10
jb 0x40e385
mov ecx, dword [edi]
jmp 0x40e387
mov ecx, edi
cmp ecx, 0x455658
ja 0x40e3c2
cmp eax, 0x10
jb 0x40e398
mov ecx, dword [edi]
jmp 0x40e39a
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x455658
jbe 0x40e3c2
cmp eax, 0x10
jb 0x40e3ae
mov edi, dword [edi]
push 0xb
mov eax, 0x455658
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x40e405
cmp eax, 0xb
jae 0x40e3d4
mov ecx, dword [esi + 0x14]
push ecx
push 0xb
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x40e3e0
mov eax, dword [edi]
jmp 0x40e3e2
mov eax, edi
push 0xb
push 0x455658
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0xb
jb 0x40e402
mov edi, dword [edi]
mov byte [edi + 0xb], bl
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0xf
call fcn.00402020
mov byte [esp + 0x8f8], 0x10
cmp dword [eax + 0x18], 8
jb 0x40e433
mov eax, dword [eax + 4]
jmp 0x40e436
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0x12
call fcn.0040ed80
cmp dword [esp + 0x40], 8
jb 0x40e477
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004393c9
add esp, 4
xor edx, edx
mov edi, 7
xor ebx, ebx
lea esi, [esp + 0x58]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], dx
mov byte [esp + 0x8dc], 3
call fcn.00429e20
mov eax, dword [esp + 0x24]
push ebp
call fcn.0040f370
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
add eax, 0x70
push ebx
mov word [ecx + 4], dx
call fcn.00402f90
lea eax, [esp + 0x44]
push eax
sub esp, 0x1c
mov esi, esp
mov byte [esp + 0x918], 0x13
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x50], esp
cmp eax, 0x10
jb 0x40e4f9
mov ecx, dword [edi]
jmp 0x40e4fb
mov ecx, edi
cmp ecx, str._a_T
ja 0x40e536
cmp eax, 0x10
jb 0x40e50c
mov ecx, dword [edi]
jmp 0x40e50e
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, str._a_T
jbe 0x40e536
cmp eax, 0x10
jb 0x40e522
mov edi, dword [edi]
push 0xc
mov eax, str._a_T
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x40e579
cmp eax, 0xc
jae 0x40e548
mov ecx, dword [esi + 0x14]
push ecx
push 0xc
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x40e554
mov eax, dword [edi]
jmp 0x40e556
mov eax, edi
push 0xc
push str._a_T
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0xc
jb 0x40e576
mov edi, dword [edi]
mov byte [edi + 0xc], bl
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0x14
call fcn.00401df0
mov byte [esp + 0x8f8], 0x15
cmp dword [eax + 0x18], 8
jb 0x40e5a7
mov ebx, dword [eax + 4]
jmp 0x40e5aa
lea ebx, [eax + 4]
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0x17
call fcn.0040ed80
lea esi, [esp + 0x28]
call fcn.00402d50
lea esi, [esp + 0x58]
mov byte [esp + 0x8dc], 3
call fcn.00429e20
mov edi, dword [esp + 0x24]
push ebp
mov eax, edi
call fcn.0040f370
sub esp, 0x1c
add eax, 0x8c
mov esi, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00402d20
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [esp + 0x918], 0x18
xor eax, eax
push 0xe
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], eax
push 0x455674
mov byte [ecx + 4], al
call fcn.004030c0
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0x19
call fcn.00402280
mov byte [esp + 0x8f8], 0x1a
cmp dword [eax + 0x18], 8
jb 0x40e66e
mov eax, dword [eax + 4]
jmp 0x40e671
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0x1c
call fcn.0040ed80
lea esi, [esp + 0x28]
call fcn.00402d50
lea esi, [esp + 0x58]
mov byte [esp + 0x8dc], 3
call fcn.00429e20
push ebp
mov eax, edi
call fcn.0040f370
sub esp, 0x1c
add eax, 0x8c
mov esi, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00402d20
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [esp + 0x918], 0x1d
xor eax, eax
push 0xf
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], eax
push str.y_f_P
mov byte [ecx + 4], al
call fcn.004030c0
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0x1e
call fcn.00401df0
mov byte [esp + 0x8f8], 0x1f
cmp dword [eax + 0x18], 8
jb 0x40e733
mov eax, dword [eax + 4]
jmp 0x40e736
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0x21
call fcn.0040ed80
lea esi, [esp + 0x28]
call fcn.00402d50
lea esi, [esp + 0x58]
mov byte [esp + 0x8dc], 3
call fcn.00429e20
push ebp
mov eax, edi
call fcn.0040f370
sub esp, 0x1c
add eax, 0xa8
mov esi, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00402d20
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [esp + 0x918], 0x22
xor eax, eax
push 0x10
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], eax
push 0x455694
mov byte [ecx + 4], al
call fcn.004030c0
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0x23
call fcn.00402020
mov byte [esp + 0x8f8], 0x24
cmp dword [eax + 0x18], 8
jb 0x40e7f8
mov eax, dword [eax + 4]
jmp 0x40e7fb
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0x26
call fcn.0040ed80
lea esi, [esp + 0x28]
call fcn.00402d50
lea esi, [esp + 0x58]
mov byte [esp + 0x8dc], 3
call fcn.00429e20
push ebp
mov eax, edi
call fcn.0040f370
sub esp, 0x1c
add eax, 0xa8
mov esi, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00402d20
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [esp + 0x918], 0x27
xor eax, eax
push 0xc
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], eax
push str.eeG_vT8
mov byte [ecx + 4], al
call fcn.004030c0
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0x28
call fcn.00401df0
mov byte [esp + 0x8f8], 0x29
cmp dword [eax + 0x18], 8
jb 0x40e8bd
mov eax, dword [eax + 4]
jmp 0x40e8c0
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0x2b
call fcn.0040ed80
lea esi, [esp + 0x28]
call fcn.00402d50
lea esi, [esp + 0x58]
mov byte [esp + 0x8dc], 3
call fcn.00429e20
push ebp
mov eax, edi
call fcn.0040f370
sub esp, 0x1c
add eax, 0xc4
mov esi, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00402d20
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [esp + 0x918], 0x2c
xor eax, eax
push 0xb
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], eax
push 0x4556b8
mov byte [ecx + 4], al
call fcn.004030c0
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0x2d
call fcn.00402280
mov byte [esp + 0x8f8], 0x2e
cmp dword [eax + 0x18], 8
jb 0x40e982
mov eax, dword [eax + 4]
jmp 0x40e985
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0x30
call fcn.0040ed80
lea esi, [esp + 0x28]
call fcn.00402d50
lea esi, [esp + 0x58]
mov byte [esp + 0x8dc], 3
call fcn.00429e20
call fcn.00417360
test eax, eax
je 0x40e9df
call fcn.004069e0
call fcn.00419900
push ebp
mov eax, edi
call fcn.0040f370
sub esp, 0x1c
add eax, 0xe0
mov esi, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00402d20
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [esp + 0x918], 0x31
xor eax, eax
push 0xe
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], eax
push 0x4556c4
mov byte [ecx + 4], al
call fcn.004030c0
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0x32
call fcn.004028a0
mov byte [esp + 0x8f8], 0x33
cmp dword [eax + 0x18], 8
jb 0x40ea5a
mov eax, dword [eax + 4]
jmp 0x40ea5d
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0x35
call fcn.0040ed80
lea esi, [esp + 0x28]
call fcn.00402d50
lea esi, [esp + 0x58]
mov byte [esp + 0x8dc], 3
call fcn.00429e20
call fcn.00417690
test eax, eax
je 0x40eab7
call fcn.00418100
call fcn.00419900
push ebp
mov eax, edi
call fcn.0040f370
sub esp, 0x1c
add eax, 0xe0
mov esi, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00402d20
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [esp + 0x918], 0x36
xor eax, eax
push 0xc
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], eax
push 0x4556d4
mov byte [ecx + 4], al
call fcn.004030c0
lea ecx, [esp + 0x94]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8fc], 0x37
call fcn.004028a0
mov byte [esp + 0x8f8], 0x38
cmp dword [eax + 0x18], 8
jb 0x40eb32
mov eax, dword [eax + 4]
jmp 0x40eb35
add eax, 4
sub esp, 0x1c
lea edx, [esp + 0xe8]
mov esi, esp
mov dword [esp + 0x4c], esp
push edx
mov ebx, eax
call fcn.00410370
add esp, 4
mov eax, dword [esp + 0x50]
push eax
mov byte [esp + 0x918], 0x3a
call fcn.0040ed80
lea esi, [esp + 0x28]
call fcn.00402d50
lea esi, [esp + 0x58]
mov byte [esp + 0x8dc], 3
call fcn.00429e20
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x30]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
xor ebx, ebx
push 2
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x4556e4
mov byte [ecx + 4], bl
call fcn.004030c0
lea ecx, [esp + 0x80]
call fcn.004062e0
mov ecx, eax
mov byte [esp + 0x8e8], 0x3b
call fcn.00402280
cmp dword [eax + 0x18], 8
jb 0x40ebd5
mov eax, dword [eax + 4]
jmp 0x40ebd8
add eax, 4
mov ecx, dword [esp + 0x20]
push eax
push ecx
call sub.VERSION.dll_VerQueryValueW
lea esi, [esp + 0x28]
mov edi, eax
call fcn.00402d50
lea esi, [esp + 0x58]
mov byte [esp + 0x8dc], 3
call fcn.00429e20
cmp edi, ebx
je 0x40ec5b
mov esi, dword [esp + 0x24]
push ebp
mov eax, esi
call fcn.0040f370
mov edx, dword [eax + 0xfc]
mov eax, dword [esp + 0x44]
mov dword [eax + 8], edx
push ebp
mov eax, esi
call fcn.0040f370
mov ecx, dword [eax + 0x100]
mov edx, dword [esp + 0x44]
push ebp
mov eax, esi
mov dword [edx + 0xc], ecx
call fcn.0040f370
mov eax, dword [eax + 0xfc]
mov ecx, dword [esp + 0x44]
mov dword [ecx + 0x10], eax
push ebp
mov eax, esi
call fcn.0040f370
mov edx, dword [eax + 0x100]
mov eax, dword [esp + 0x44]
mov dword [eax + 0x14], edx
cmp dword [esp + 0x904], 0x10
mov eax, dword [esp + 0x8f0]
jae 0x40ec73
lea eax, [esp + 0x8f0]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_BeginUpdateResourceA]
mov edi, eax
call fcn.00406540
mov ecx, eax
mov eax, 0x20b3dd41
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x1f5
jle 0x40ecb2
push 0x1f5
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00406a80
call fcn.00406af0
cmp edi, ebx
jne 0x40eccb
mov byte [esp + 0x8dc], bl
lea esi, [esp + 0xb0]
call fcn.00402d50
jmp 0x40ed05
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x18]
push edx
movzx edx, word [ecx]
push eax
push edx
push 1
push 0x10
push edi
call dword [sym.imp.KERNEL32.dll_UpdateResourceA]
mov byte [esp + 0x8dc], bl
lea esi, [esp + 0xb0]
test eax, eax
jne 0x40ecc4
call fcn.00402d50
jmp 0x40ed05
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40ed24
push eax
call fcn.0043aa3e
add esp, 4
call fcn.004065f0
test eax, eax
je 0x40ed24
call fcn.00419900
test edi, edi
je 0x40ed31
push 0
push edi
call dword [sym.imp.KERNEL32.dll_EndUpdateResourceA]
cmp dword [esp + 0x904], 0x10
jb 0x40ed4b
mov eax, dword [esp + 0x8f0]
push eax
call fcn.004393c9
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x8d4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x8b8]
xor ecx, esp
call fcn.00438dc1
add esp, 0x8cc
ret 0x24