Function at 0x4071ff
Capabilities:
Allocate or change rwx memory

Disassembly:
lea edi, [ebp - 0x34]
push edi
call dword [sym.imp.KERNEL32.DLL_GetVersionExA]
lea eax, [ebp]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x34], edi
lea esi, [esp]
lea esi, [ebp - 0x30]
mov esi, dword [ebp]
lea edi, [ebp - 0x2c]
lea ecx, [esp]
and dword [ebp - 0x34], 0x22220022
and dword [ebp - 0x30], 0xff00ff
mov eax, 0x80
sub esi, esi
sub eax, eax
sub eax, eax
xor dword [ebp - 0x34], 0x66006666
mov ecx, 0x5b
add dword [ebp - 0x30], 0x11
sub ecx, ecx
mov eax, 2
mov esi, dword [esp]
add dword [ebp - 0x34], 0xcc
mov edx, 4
sub edi, edi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], 0xd2
mov edx, dword [ebp - 0x30]
sub dword [ebp - 0x30], 0xeeeeeeee
mov dword [ebp - 0x2c], 0x40
mov eax, 1
sub dword [ebp - 0x34], 0x22000022
sub ecx, ecx
sub ecx, ecx
cmp ecx, 0xeb
ja 0x4072a3
sub edx, edx
add dword [ebp - 0x34], 0x80
cmp ecx, 0
ja 0x4072a3
mov ecx, 0x1b
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov edi, 8
lea edx, [ebp - 0x30]
mov edi, dword [esp]
lea edx, [ebp]
mov dword [ebp - 0x2c], edx
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp]
mov di, 0x40
mov di, 8
sub dword [ebp - 0x34], 0x770077
lea esi, [esp]
lea edi, [esp]
add dword [ebp - 0x2c], 0xcc
mov edi, dword [esp]
mov dword [ebp - 0x30], 0
or dword [ebp - 0x34], 0xaa0000aa
xor esi, esi
mov edi, 0x80
xor dword [ebp - 0x30], 0xeeee00ee
mov eax, dword [ebp]
lea eax, [esp]
mov edi, eax
sub dword [ebp - 0x30], 0xeeeeee
sub dword [ebp - 0x2c], 0x888888
and dword [ebp - 0x2c], 0xdddddd
sub dword [ebp - 0x30], 0xaa00aaaa
lea ecx, [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x34]
mov esi, dword [esp]
and dword [ebp - 0x2c], 0x990099
and dword [ebp - 0x34], 0x33003333
mov dword [ebp - 0x2c], 0x58
and dword [ebp - 0x34], 0xaaaa
lea ecx, [ebp - 0x30]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetVersionExA]
mov esi, 0x40
mov di, 0x40
mov edi, 0x3d
mov edi, 0x21
mov cx, 0x9d
lea edi, [esp]
mov edi, dword [ebp]
lea edi, [esp]
and dword [ebp - 0x34], 0xbb00bb
mov edi, dword [esp]
mov edx, dword [esp]
sub edi, edi
lea edx, [ebp - 0x2c]
lea ecx, [esp]
and dword [ebp - 0x34], 0x220022
sub dword [ebp - 0x34], 0x99999999
add dword [ebp - 0x30], 0xbb00bb
lea esi, [ebp - 0x2c]
sub dword [ebp - 0x2c], 0xaa0000aa
mov edi, dword [ebp - 0x30]
xor edi, edi
xor ecx, ecx
lea edi, [esp]
mov dword [ebp - 0x34], edi
or dword [ebp - 0x34], 0xdddd
lea esi, [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov edx, dword [esp]
xor dword [ebp - 0x34], 0x1111
mov eax, edx
sub dword [ebp - 0x2c], 0x6666
mov ax, 0x39
mov ecx, 0x64
lea ecx, [ebp - 0x30]
cmp ecx, 0
jb 0x4073fc
mov edx, dword [ebp - 0x2c]
sub edx, edx
cmp dword [ebp - 0x30], edx
je 0x4073fc
mov edx, 1
lea edx, [ebp - 0x2c]
sub edx, edx
xor eax, eax
mov dword [ebp - 0x34], 8
xor dword [ebp - 0x34], 0xffff
sub dword [ebp - 0x2c], 1
mov ax, 0x20
or dword [ebp - 0x34], 0xffff
cmp dword [ebp - 0x34], eax
jae 0x40743a
mov edx, 0
mov dword [ebp - 0x34], 0x3f
lea eax, [ebp - 0x34]
xor dword [ebp - 0x34], 0xffffff
add dword [ebp - 0x2c], 0x10
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov edx, 0x10
mov esi, dword [esp]
mov dword [ebp - 0x30], eax
mov si, 0x7d
mov esi, edi
lea edi, [ebp - 0x30]
mov dword [ebp - 0x30], ecx
lea ecx, [esp]
lea ecx, [ebp - 0x2c]
mov ecx, 0x44
and dword [ebp - 0x30], 0x11110011
mov dword [ebp - 0x2c], 0x80
mov edi, dword [ebp - 0x30]
mov edi, dword [esp]
lea edx, [esp]
add dword [ebp - 0x30], 0xffffffff
lea esi, [ebp]
lea esi, [ebp]
lea edi, [ebp - 0x2c]
sub dword [ebp - 0x30], 0x2222
mov dx, 0x28
xor ecx, ecx
sub dword [ebp - 0x2c], 0xff00ff
mov edx, 0x4f
and dword [ebp - 0x30], 0x77007777
mov edi, esi
xor ecx, ecx
xor edi, edi
mov edi, dword [esp]
mov ecx, edx
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov esi, dword [ebp]
mov eax, edx
lea ecx, [esp]
mov dword [ebp - 0x2c], edx
mov edi, dword [ebp]
mov edi, dword [ebp]
mov dword [ebp - 0x34], esi
mov cx, 0xf2
xor eax, eax
sub edi, edi
mov ecx, dword [ebp]
lea esi, [esp]
and dword [ebp - 0x2c], 0x99009999
sub edi, edi
mov edi, dword [ebp]
xor edi, edi
xor edx, edx
add dword [ebp - 0x30], 0xdd00dd
sub edi, edi
mov esi, eax
mov edx, edi
or dword [ebp - 0x30], 0xbb00bb
mov edx, 0x20
mov si, 0x40
xor dword [ebp - 0x34], 0xbb00bbbb
mov eax, 0xb9
lea eax, [ebp]
add dword [ebp - 0x2c], 0xee00ee
lea ecx, [ebp - 0x30]
mov edi, eax
mov edx, 0
and dword [ebp - 0x30], 0xffffff
cmp dword [ebp - 0x30], edx
ja 0x40754d
mov eax, 0x300
mov dword [ebp - 0x34], eax
and dword [ebp - 0x30], 0xff
mov edx, 2
mov dword [ebp - 0x2c], eax
add dword [ebp - 0x30], 4
push 2
push 0x8000
push 0x800
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov edi, dword [ebp]
lea esi, [esp]
mov edx, 0xd0
lea ecx, [esp]
mov esi, dword [esp]
mov eax, dword [esp]
lea edi, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
sub dword [ebp - 0x2c], 0x330033
lea esi, [ebp]
and dword [ebp - 0x30], 0xeeee00ee
mov dword [ebp - 0x2c], 0x78
mov edi, 8
xor eax, eax
mov esi, dword [esp]
xor edi, edi
mov dword [ebp - 0x30], 0x2e
and dword [ebp - 0x2c], 0xaa0000aa
mov edx, edi
sub edi, edi
mov edi, esi
mov esi, 0xf8
sub esi, esi
mov dword [ebp - 0x30], edx
lea edx, [ebp - 0x34]
lea esi, [ebp - 0x30]
lea eax, [ebp]
mov dword [ebp - 0x30], 0xdd
xor eax, eax
or dword [ebp - 0x30], 0xaaaaaa
sub edx, edx
mov eax, 0
or dword [ebp - 0x2c], 0xffffff
mov ecx, 0x200
xor eax, eax
lea eax, [ebp - 0x2c]
sub eax, eax
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.DLL_GetVersionExA]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], esi
mov edi, dword [ebp - 0x30]
mov ecx, dword [esp]
lea edx, [esp]
mov edi, dword [ebp - 0x34]
lea eax, [ebp]
mov dx, 0x15
sub dword [ebp - 0x30], 0xee0000ee
sub dword [ebp - 0x2c], 0x777777
lea edi, [ebp - 0x30]
lea ecx, [esp]
sub edi, edi
and dword [ebp - 0x34], 0x555555
lea ecx, [esp]
mov dword [ebp - 0x34], 0xc2
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp]
mov esi, 0x77
sub dword [ebp - 0x34], 0x9999
mov ecx, dword [esp]
sub dword [ebp - 0x34], 0xdd
or dword [ebp - 0x30], 0x8888
mov di, 2
mov ecx, dword [ebp]
lea eax, [ebp - 0x30]
lea eax, [esp]
or dword [ebp - 0x30], 0x66
sub edx, edx
lea edx, [ebp - 0x34]
add dword [ebp - 0x30], 8
xor dword [ebp - 0x34], 0xff00ff
test edx, edx
jne 0x407692
mov eax, 0x200
cmp eax, 0xda9
ja 0x407692
call dword [sym.imp.KERNEL32.DLL_GetACP]
lea eax, [esp]
mov edi, dword [ebp]
mov eax, esi
mov eax, edi
mov ecx, edi
mov dword [ebp - 0x30], edi
mov eax, 0xa5
lea edx, [ebp - 0x34]
and dword [ebp - 0x30], 0xbbbb00bb
add dword [ebp - 0x34], 0xbb0000bb
mov cx, 0x38
and dword [ebp - 0x30], 0xdddddddd
mov edx, dword [esp]
and dword [ebp - 0x30], 0x11111111
lea edx, [ebp]
mov ecx, 0x4d
lea esi, [esp]
sub edi, edi
xor dword [ebp - 0x30], 0xcc00cc
mov ax, 4
sub esi, esi
sub edx, edx
or dword [ebp - 0x2c], 0x22
mov ecx, 8
mov dword [ebp - 0x2c], 0xab
mov dword [ebp - 0x34], eax
xor eax, eax
lea edi, [ebp - 0x30]
sub dword [ebp - 0x30], 0x22002222
sub edi, edi
sub eax, eax
xor eax, eax
lea eax, [ebp - 0x2c]
and dword [ebp - 0x34], 0xffff
sub eax, eax
cmp eax, 0
jae 0x40774a
mov eax, 0x80
mov ecx, 0x200
xor dword [ebp - 0x34], 0xff
and dword [ebp - 0x30], 0xff00ff
xor dword [ebp - 0x34], 0xff
mov dword [ebp - 0x30], 0x32
push 0x445c3a
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.DLL_GetACP]
lea edi, [esp]
mov edi, dword [ebp]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], esi
lea esi, [ebp]
lea edx, [ebp]
mov ecx, dword [esp]
mov edi, esi
xor edx, edx
lea esi, [esp]
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
lea eax, [ebp - 0x34]
mov esi, dword [esp]
mov cx, 0xac
lea eax, [ebp]
lea edi, [esp]
mov dword [ebp - 0x2c], 0x40
mov edi, dword [ebp]
xor dword [ebp - 0x34], 0xff00ffff
sub edx, edx
lea ecx, [ebp]
xor edi, edi
xor eax, eax
or dword [ebp - 0x2c], 0xeeee00ee
sub dword [ebp - 0x2c], 0x99000099
mov edi, esi
mov dword [ebp - 0x34], 0x73
mov edx, dword [ebp]
or dword [ebp - 0x34], 0x33
xor esi, esi
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov edi, dword [esp]
push 2
push 0x2000
push 0x900
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
lea esi, [esp]
mov esi, 0x59
lea esi, [ebp - 0x30]
lea edi, [esp]
mov esi, dword [esp]
lea ecx, [esp]
lea eax, [ebp]
mov edi, 0x80
mov edi, dword [esp]
lea edi, [esp]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x30], 0x20
lea esi, [esp]
mov eax, edx
mov edi, 0x10
mov dword [ebp - 0x2c], 0x80
add dword [ebp - 0x30], 0xee0000ee
mov dword [ebp - 0x34], eax
lea edi, [esp]
mov edi, dword [ebp - 0x34]
mov esi, dword [esp]
mov eax, dword [ebp]
mov si, 0xf0
sub dword [ebp - 0x2c], 0xeeeeee
lea edi, [ebp]
lea esi, [esp]
xor esi, esi
lea edi, [esp]
mov eax, dword [ebp - 0x2c]
and dword [ebp - 0x30], 0x222222
call dword [sym.imp.KERNEL32.DLL_GetACP]
lea edi, [ebp]
mov edi, esi
mov edx, ecx
lea ecx, [esp]
lea edi, [ebp - 0x2c]
mov si, 0x20
mov dword [ebp - 0x34], edx
lea eax, [ebp]
sub eax, eax
mov edx, dword [esp]
mov si, 0x12
mov di, 0x91
and dword [ebp - 0x34], 0x88880088
add dword [ebp - 0x34], 0xeeee
mov ecx, dword [ebp]
mov cx, 8
lea ecx, [ebp - 0x34]
add dword [ebp - 0x34], 0xcc00cccc
mov di, 0x80
lea edx, [esp]
mov eax, dword [ebp - 0x2c]
and dword [ebp - 0x30], 0xbbbbbbbb
mov edx, esi
mov dword [ebp - 0x34], edi
lea edi, [esp]
and dword [ebp - 0x34], 0x444444
sub edx, edx
xor dword [ebp - 0x30], 0xaa
xor edi, edi
push 2
push 0x2000
push 0xd00
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
lea edi, [ebp]
lea eax, [esp]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x34], edi
mov eax, dword [esp]
mov eax, esi
mov edx, edi
lea edi, [ebp - 0x34]
mov ecx, dword [esp]
and dword [ebp - 0x34], 0x2222
lea edi, [esp]
mov edi, 1
xor edx, edx
and dword [ebp - 0x34], 0x77007777
mov edi, dword [esp]
lea edx, [ebp]
mov edi, 0x10
and dword [ebp - 0x2c], 0x33330033
lea edi, [ebp - 0x30]
or dword [ebp - 0x30], 0x22222222
add dword [ebp - 0x30], 0x333333
sub dword [ebp - 0x30], 0xbbbb
lea edi, [ebp - 0x2c]
mov ecx, dword [ebp]
and dword [ebp - 0x2c], 0x55550055
lea edi, [esp]
mov edi, dword [esp]
lea esi, [esp]
xor dword [ebp - 0x2c], 0x44440044
mov edx, 0x79
xor dword [ebp - 0x30], 0xff00ffff
sub dword [ebp - 0x34], 0xcccccccc
mov dword [ebp - 0x30], 2
lea ecx, [ebp]
xor ecx, ecx
lea ecx, [ebp - 0x34]
sub dword [ebp - 0x34], 4
and dword [ebp - 0x30], 0xffff
cmp ecx, dword [ebp - 0x34]
jae 0x40799d
sub edx, edx
add dword [ebp - 0x2c], 0x80
and dword [ebp - 0x30], 0xff
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov cx, 0x60
mov esi, 2
mov edi, dword [esp]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x34]
lea ecx, [ebp]
mov ecx, dword [esp]
mov si, 0x80
and dword [ebp - 0x34], 0xee00ee
xor edi, edi
xor dword [ebp - 0x34], 0x11111111
sub dword [ebp - 0x30], 0xaa
sub ecx, ecx
mov eax, edi
mov dword [ebp - 0x34], edi
and dword [ebp - 0x34], 0x99000099
sub edi, edi
lea edi, [esp]
lea edx, [ebp]
xor dword [ebp - 0x2c], 0xee0000ee
xor dword [ebp - 0x30], 0x88
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x2c], esi
mov edi, dword [ebp - 0x30]
lea ecx, [ebp]
xor dword [ebp - 0x34], 0xff0000ff
lea edx, [ebp - 0x30]
mov eax, dword [ebp]
lea edi, [esp]
mov edx, dword [esp]
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov edi, esi
mov cx, 4
mov edx, edi
mov ecx, 0xf
lea esi, [esp]
lea eax, [esp]
mov eax, 0xa4
mov edx, ecx
and dword [ebp - 0x30], 0x8888
mov esi, 8
mov edi, dword [ebp]
lea ecx, [ebp]
mov edi, 0x82
lea edi, [ebp]
mov dword [ebp - 0x2c], ecx
xor dword [ebp - 0x30], 0x55005555
sub edi, edi
and dword [ebp - 0x30], 0xaa0000aa
lea eax, [ebp]
and dword [ebp - 0x30], 0xbbbbbb
mov edx, dword [ebp]
mov ecx, dword [esp]
lea ecx, [ebp]
mov edi, dword [esp]
xor edi, edi
lea ecx, [ebp - 0x34]
or dword [ebp - 0x34], 0xeeeeee
lea esi, [ebp]
xor ecx, ecx
xor edx, edx
and dword [ebp - 0x2c], 0xff00ff
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], 6
mov dx, 0x80
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov ecx, dword [esp]
mov edi, 0xbd
mov ax, 0xda
lea edx, [esp]
mov edi, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
mov ecx, dword [ebp]
mov esi, dword [esp]
sub dword [ebp - 0x2c], 0x99
xor dword [ebp - 0x30], 0xff00ffff
lea esi, [esp]
sub eax, eax
mov ecx, edi
lea edx, [esp]
mov edi, dword [esp]
mov ecx, dword [ebp - 0x34]
add dword [ebp - 0x2c], 0xaa00aaaa
xor edi, edi
mov ecx, dword [ebp]
and dword [ebp - 0x30], 0x77777777
mov dword [ebp - 0x2c], 0xe
mov edi, dword [esp]
add dword [ebp - 0x34], 0x55000055
mov dword [ebp - 0x2c], edi
and dword [ebp - 0x30], 0xdddd00dd
mov dword [ebp - 0x34], edi
mov edx, dword [esp]
xor dword [ebp - 0x2c], 0x44004444
mov ecx, dword [ebp - 0x2c]
lea edi, [esp]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], 2
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
add dword [ebp - 0x34], 0x39
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetVersionExA]
mov ecx, 0xc0
mov edi, 0x10
mov esi, dword [ebp]
mov edx, eax
mov eax, edi
mov edi, 0x12
mov ecx, dword [esp]
mov eax, edi
mov eax, dword [ebp]
xor dword [ebp - 0x2c], 0xee00eeee
lea ecx, [ebp - 0x34]
xor dword [ebp - 0x34], 0xff00ff
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], edx
lea edi, [ebp - 0x34]
mov eax, dword [esp]
mov edi, dword [ebp - 0x30]
mov eax, 0x73
and dword [ebp - 0x2c], 0x44440044
sub dword [ebp - 0x2c], 0x11000011
mov esi, dword [ebp - 0x30]
lea edi, [esp]
and dword [ebp - 0x30], 0xeeee
mov ecx, 0x40
mov dword [ebp - 0x34], 0x80
mov ecx, dword [ebp - 0x30]
or dword [ebp - 0x2c], 0xbb00bb
sub eax, eax
mov ecx, dword [ebp - 0x2c]
mov eax, 0xd
mov eax, 0x64
push 8
push 0x4000
push 0x1000
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
lea eax, [esp]
mov edi, dword [esp]
mov edi, ecx
mov eax, dword [esp]
mov di, 0xe6
lea edi, [ebp]
mov ecx, dword [ebp - 0x2c]
mov cx, 0xd7
xor dword [ebp - 0x2c], 0xaaaa
add dword [ebp - 0x2c], 0xdddd
mov dword [ebp - 0x34], 0x10
mov ecx, dword [ebp - 0x34]
mov edx, 0x80
lea esi, [ebp]
mov dword [ebp - 0x34], 0x10
and dword [ebp - 0x2c], 0x33333333
sub edi, edi
xor esi, esi
lea edi, [ebp - 0x2c]
sub dword [ebp - 0x30], 0x22000022
xor edi, edi
mov edx, dword [ebp - 0x30]
lea esi, [esp]
mov edx, dword [ebp]
mov edi, 0xfc
xor dword [ebp - 0x30], 0x440044
xor dword [ebp - 0x34], 0xaa00aa
and dword [ebp - 0x34], 0xeeeeeeee
mov ecx, 0
sub edx, edx
mov cx, 4
add dword [ebp - 0x2c], 8
or dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x2c], ecx
push str.VerFindFileA
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [ebp - 4], eax
lea esi, [ebp - 0x2c]
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
lea eax, [esp]
mov edi, esi
lea eax, [esp]
mov dword [ebp - 0x2c], ecx
mov cx, 0x7c
lea ecx, [esp]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edi
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
xor dword [ebp - 0x34], 0x99990099
mov ecx, edi
mov dword [ebp - 0x30], 4
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], 0x14
xor dword [ebp - 0x30], 0x1111
lea edi, [esp]
mov edi, dword [ebp]
mov edi, dword [esp]
sub edx, edx
lea edi, [ebp]
lea edi, [esp]
mov esi, dword [esp]
and dword [ebp - 0x2c], 0xaaaaaa
and dword [ebp - 0x34], 0x88000088
sub dword [ebp - 0x30], 0x99
mov dword [ebp - 0x30], eax
sub ecx, ecx
xor dword [ebp - 0x34], 0xff00ff
sub eax, eax
and dword [ebp - 0x30], 0xffffff
cmp ecx, dword [ebp - 0x34]
je 0x407d1b
mov eax, dword [ebp - 0x30]
mov eax, 0x10
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov edi, esi
mov ecx, 0xe9
mov cx, 0x78
lea edx, [ebp]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov edi, dword [esp]
mov edx, 0x10
xor dword [ebp - 0x34], 0x44444444
xor dword [ebp - 0x30], 0x11001111
xor esi, esi
add dword [ebp - 0x34], 0xdddddddd
lea edi, [ebp]
xor edx, edx
sub esi, esi
mov ax, 8
lea esi, [ebp - 0x34]
sub dword [ebp - 0x34], 0x444444
lea esi, [esp]
sub dword [ebp - 0x34], 0xdddddddd
mov edi, dword [esp]
mov edi, dword [ebp]
xor edx, edx
lea edx, [ebp]
mov dword [ebp - 0x34], 8
add dword [ebp - 0x2c], 0xdddd00dd
lea edi, [esp]
lea eax, [esp]
sub dword [ebp - 0x2c], 0xee0000ee
and dword [ebp - 0x2c], 0x99000099
mov ax, 0x6a
sub dword [ebp - 0x2c], 0xcc0000cc
mov ecx, dword [esp]
mov ecx, 0x200
and dword [ebp - 0x2c], 0xff00ff
lea ecx, [ebp - 0x2c]
cmp ecx, 0x14
jae 0x407ddc
xor edx, edx
lea ecx, [ebp - 0x34]
or dword [ebp - 0x2c], 0xff00ff
and dword [ebp - 0x30], 0xffffff
and dword [ebp - 0x30], 0xff
or dword [ebp - 0x34], 0xffff
and dword [ebp - 0x34], 0xff00ff
mov ecx, dword [ebp - 0x34]
mov ecx, 0x5f
mov edx, pe_nt_image_headers32
call dword [sym.imp.KERNEL32.DLL_GetACP]
mov edi, esi
lea edi, [ebp]
lea edx, [ebp - 0x2c]
mov edi, dword [ebp - 0x2c]
mov edx, esi
lea edx, [esp]
mov eax, dword [ebp - 0x34]
mov di, 0xe0
mov esi, dword [ebp]
lea esi, [esp]
sub edx, edx
xor edi, edi
mov edi, esi
and dword [ebp - 0x34], 0xdddddddd
mov di, 0x40
mov ecx, 0x69
mov dword [ebp - 0x30], 0x10
or dword [ebp - 0x2c], 0x444444
mov eax, edi
xor dword [ebp - 0x34], 0x22222222
add dword [ebp - 0x34], 0x11110011
mov edi, edx
xor edi, edi
and dword [ebp - 0x2c], 0xaa00aa
lea edi, [esp]
lea ecx, [esp]
sub dword [ebp - 0x2c], 0x6666
add dword [ebp - 0x30], 0x44004444
push 2
push 0x2000
push 0xa00
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov dword [ebp - 0x2c], edx
lea esi, [esp]
lea ecx, [esp]
mov eax, 2
lea edi, [ebp - 0x30]
mov ax, 0x7a
mov edi, dword [ebp - 0x34]
mov esi, 0x80
or dword [ebp - 0x34], 0x88888888
xor dword [ebp - 0x34], 0x55555555
lea edi, [ebp]
mov dword [ebp - 0x2c], edi
add dword [ebp - 0x2c], 0xaaaa00aa
add dword [ebp - 0x2c], 0xbbbb
sub ecx, ecx
xor edi, edi
and dword [ebp - 0x2c], 0xeeeeee
mov dword [ebp - 0x2c], 1
sub esi, esi
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x34], 0x20
add dword [ebp - 0x30], 0xffff
mov ecx, dword [ebp]
add dword [ebp - 0x34], 0x55005555
mov edx, dword [ebp]
xor esi, esi
lea edx, [ebp - 0x34]
mov edx, 0
lea edx, [ebp - 0x2c]
xor dword [ebp - 0x30], 0xffffff
mov dword [ebp - 0x34], 8
sub dword [ebp - 0x30], 4
mov dword [ebp - 0x34], eax
and dword [ebp - 0x30], 0xff00ff
cmp dword [ebp - 0x2c], edx
ja 0x407f3b
xor eax, eax
or dword [ebp - 0x34], 0xffff
or dword [ebp - 0x30], 0xff00ff
and dword [ebp - 0x34], 0xffff
and dword [ebp - 0x2c], 0xffff
lea edi, [ebp - 0x2c]
push edi
call dword [sym.imp.KERNEL32.DLL_GetVersionExA]
mov dword [ebp - 0x34], eax
mov edi, dword [ebp]
mov eax, dword [esp]
mov ecx, edx
lea eax, [ebp - 0x2c]
lea esi, [esp]
mov edi, dword [ebp]
mov ecx, 0x5b
xor dword [ebp - 0x30], 0x3333
mov dword [ebp - 0x34], eax
xor esi, esi
mov edx, dword [ebp]
mov edx, dword [esp]
mov si, 0x53
lea edi, [esp]
mov esi, 0x78
xor dword [ebp - 0x34], 0x22002222
mov dword [ebp - 0x34], eax
mov esi, edi
mov esi, 0x10
mov ecx, edi
xor dword [ebp - 0x30], 0x66
mov dx, 0x20
sub dword [ebp - 0x2c], 0x77
and dword [ebp - 0x30], 0x11
mov dword [ebp - 0x2c], edx
and dword [ebp - 0x2c], 0x888888
xor dword [ebp - 0x30], 0x44
and dword [ebp - 0x34], 0x22002222
mov dx, 2
lea eax, [ebp]
mov edx, dword [esp]
sub ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 4
mov eax, dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.DLL_GetACP]
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov edi, 8
mov dword [ebp - 0x2c], eax
lea esi, [esp]
mov dword [ebp - 0x30], ecx
mov edi, dword [ebp]
lea edi, [ebp - 0x30]
add dword [ebp - 0x34], 0xdd0000dd
mov edx, 0x88
mov eax, 8
lea edi, [ebp]
mov ax, 0xda
xor dword [ebp - 0x34], 0xbb00bbbb
mov edx, 0x40
lea eax, [ebp - 0x34]
mov dx, 4
xor ecx, ecx
mov dword [ebp - 0x34], edx
mov edx, 0x80
sub edx, edx
mov eax, dword [ebp - 0x30]
lea esi, [ebp - 0x2c]
add dword [ebp - 0x2c], 0x770077
mov di, 2
sub dword [ebp - 0x30], 0x7777
sub esi, esi
and dword [ebp - 0x34], 0x330033
mov esi, 1
mov edi, dword [esp]
mov dword [ebp - 0x34], 0xd8
lea edx, [esp]
mov si, 0x20
lea edi, [esp]
mov edx, 0xc8
xor dword [ebp - 0x34], 0xff00ff
and dword [ebp - 0x34], 0xffffff
cmp edx, 0
jb 0x40809e
and dword [ebp - 0x30], 0xff00ff
mov eax, 0x64
and dword [ebp - 0x34], 0xff
and dword [ebp - 0x30], 0xff00ff
xor dword [ebp - 0x34], 0xffff
sub edx, edx
and dword [ebp - 0x30], 0xff
lea esi, [ebp - 0x30]
push esi
call dword [sym.imp.KERNEL32.DLL_GetVersionExA]
mov ax, 0x2e
lea eax, [ebp - 0x2c]
mov edx, dword [esp]
mov cx, 0xf7
mov edi, dword [ebp]
mov edi, dword [ebp]
mov dx, 0x20
mov edi, eax
mov edx, esi
add dword [ebp - 0x34], 0x1111
and dword [ebp - 0x2c], 0x99009999
lea eax, [esp]
mov edx, dword [ebp - 0x30]
mov edx, dword [ebp]
add dword [ebp - 0x2c], 0xcccccc
mov ecx, dword [esp]
sub dword [ebp - 0x2c], 0xffff
add dword [ebp - 0x34], 0x77777777
sub edx, edx
mov dword [ebp - 0x34], eax
xor dword [ebp - 0x34], 0xff
lea edx, [ebp - 0x2c]
and dword [ebp - 0x30], 0x11
xor ecx, ecx
and dword [ebp - 0x2c], 0xcccccc
xor edi, edi
and dword [ebp - 0x2c], 0x777777
mov dword [ebp - 0x2c], 0x64
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x2c], 0x50
cmp eax, 0
jb 0x408142
sub ecx, ecx
cmp eax, dword [ebp - 0x30]
jae 0x408142
ret