Function at 0x417eb0
Capabilities:
Change the wallpaper
Get keyboard layout

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46e222
mov eax, dword fs:[0]
push eax
sub esp, 0x130
push esi
push edi
mov eax, dword [0x495580]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x30], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xd8], 0x479ae4
lea ecx, [ebp - 0x114]
mov dword [ebp - 4], 0
call fcn.00438f3a
mov dword [ebp - 0x94], vtable.CPreloadList.0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x90], 0x489ac4
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 2
call fcn.00438f3a
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 3
call fcn.00438f3a
movaps xmm0, xmmword [0x48a0c0]
mov dword [ebp - 0xc4], vtable.CMap_unsigned_long_int__unsigned_long_int__unsigned_long_int__unsigned_long_int_.0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0x11
movups xmmword [ebp - 0xb8], xmm0
mov byte [ebp - 4], 5
push 0x14
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
call fcn.0043a7b1
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x78], eax
push 0
mov byte [ebp - 4], 6
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 0
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x28]
push eax
push 0
push 0x59
mov dword [ebp - 0x28], 0
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
jne 0x418020
mov ecx, 0x2f
mov eax, str.Error:_cannot_obtain_the_current_default_layout
push ecx
push eax
mov ecx, esi
call fcn.00403e20
mov byte [ebp - 0xd], 0
jmp 0x419073
lea edx, [ebp - 0x114]
lea ecx, [ebp - 0xd8]
call fcn.00417ae0
test al, al
jne 0x418051
mov ecx, 0x35
mov eax, str.Error:_cannot_obtain_list_of_currently_loaded_layouts
push ecx
push eax
mov ecx, esi
call fcn.00403e20
mov byte [ebp - 0xd], 0
jmp 0x419073
lea ecx, [ebp - 0x94]
call fcn.00430520
test al, al
jne 0x41807c
mov ecx, 0x24
mov eax, str.Error:_cannot_read_Language_Bar_list
push ecx
push eax
mov ecx, esi
call fcn.00403e20
mov byte [ebp - 0xd], 0
jmp 0x419073
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x94]
call fcn.00430f80
lea ecx, [ebp - 0xec]
call fcn.00415260
test al, al
jne 0x4180b9
mov ecx, 0x27
mov eax, str.Error:_cannot_read_the_raw_preload_list
push ecx
push eax
mov ecx, esi
call fcn.00403e20
mov byte [ebp - 0xd], 0
jmp 0x419073
cmp dword [ebp - 0xe4], 0
jne 0x4180d7
push str.Error:_empty_preload_list
mov ecx, esi
call fcn.00403f40
mov byte [ebp - 0xd], 0
jmp 0x419073
lea ecx, [ebp - 0xc4]
call fcn.00414fb0
test al, al
jne 0x4180fb
push str.Error:_cannot_read_the_preload_list_substitions
mov ecx, esi
call fcn.00403f40
mov byte [ebp - 0xd], 0
jmp 0x419073
mov eax, dword [ebp - 0x10c]
xor esi, esi
test eax, eax
jle 0x418138
test esi, esi
js 0x419143
cmp esi, eax
jge 0x419143
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x78]
lea eax, [eax + esi*4]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00410c60
mov eax, dword [ebp - 0x10c]
inc esi
cmp esi, eax
jl 0x418107
mov eax, dword [ebp - 0x134]
xor esi, esi
test eax, eax
jle 0x418175
test esi, esi
js 0x419143
cmp esi, eax
jge 0x419143
mov eax, dword [ebp - 0x138]
lea ecx, [ebp - 0x78]
lea eax, [eax + esi*4]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00410c60
mov eax, dword [ebp - 0x134]
inc esi
cmp esi, eax
jl 0x418144
push 0xc
call fcn.0043a7b1
add esp, 4
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x418197
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00431350
jmp 0x418199
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x54], eax
mov eax, 0x80
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 8
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x29], 0
call fcn.00438f3a
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 9
call fcn.0043a809
xor ecx, ecx
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0xd0], ecx
jle 0x4183e5
mov eax, dword [ebp - 0xd4]
mov edi, dword [eax + ecx*4]
movzx edx, di
mov dword [ebp - 0x40], edx
test ecx, ecx
js 0x419143
cmp ecx, dword [ebp - 0x10c]
jge 0x419143
mov eax, dword [ebp - 0x110]
mov esi, dword [eax + ecx*4]
lea ecx, [ebp - 0x94]
push esi
push edx
mov dword [ebp - 0x1c], esi
call fcn.00431030
test al, al
je 0x4182e0
cmp esi, 0xffffffff
je 0x4183d2
mov esi, edi
mov byte [ebp - 0x14], 0
shr esi, 0x10
test esi, 0xf000
je 0x4183d2
lea ecx, [ebp - 0x70]
call fcn.00413220
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x70]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.004148b0
add esp, 4
test al, al
je 0x41827e
mov eax, dword [ebp - 0x14]
and esi, 0xfff
cmp si, word [ebp - 0x5c]
mov ecx, 1
movzx eax, al
cmovne eax, ecx
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xa
or esi, 0xffffffff
mov edx, dword [ebp - 0x58]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41829f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x64]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4182b9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x68]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4182d3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x14], 0
je 0x4183d2
mov esi, dword [ebp - 0x1c]
cmp esi, 0xffffffff
je 0x4183d2
cmp edi, dword [ebp - 0x28]
jne 0x418352
cmp dword [ebp - 0xe4], 0
jle 0x419143
mov eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0xc4]
push 0
mov edx, dword [eax]
call fcn.00417df0
add esp, 4
test eax, eax
je 0x418352
push 0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
push 0
push 0x5a
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
push dword [ebp - 0x24]
mov esi, eax
mov dword [ebp - 0x20], 0x18
push 1
push 0x50
lea eax, [ebp - 0x20]
push eax
push 0x10
call dword [sym.imp.USER32.dll_BroadcastSystemMessageW]
test esi, esi
je 0x41834f
call fcn.00431280
mov esi, dword [ebp - 0x1c]
push edi
call dword [sym.imp.USER32.dll_UnloadKeyboardLayout]
test eax, eax
setne cl
test eax, eax
jne 0x41839d
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 4]
test eax, eax
je 0x41839d
cmp eax, dword [edx]
je 0x41839d
push eax
push 1
push 0x50
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x18
push eax
push 0x10
call dword [sym.imp.USER32.dll_BroadcastSystemMessageW]
mov byte [ebp - 0x29], 1
call fcn.00431280
push edi
call dword [sym.imp.USER32.dll_UnloadKeyboardLayout]
test eax, eax
setne cl
test cl, cl
je 0x4183ac
cmp edi, dword [ebp - 0x38]
jne 0x4183d2
mov byte [ebp - 0x2a], 1
jmp 0x4183d2
push dword [ebp - 0x40]
lea ecx, [ebp - 0x128]
push dword [ebp - 0x120]
call fcn.0043a951
push esi
push dword [ebp - 0xa0]
lea ecx, [ebp - 0xa8]
call fcn.00439139
mov ecx, dword [ebp - 0x44]
inc ecx
mov dword [ebp - 0x44], ecx
cmp ecx, dword [ebp - 0xd0]
jl 0x4181e2
xor edi, edi
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x30], edi
call fcn.00438f3a
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xe4]
lea ecx, [eax - 1]
mov dword [ebp - 0x14], ecx
test ecx, ecx
js 0x418574
nop dword [eax]
cmp ecx, eax
jge 0x419143
mov eax, dword [ebp - 0xe8]
mov edi, dword [eax + ecx*4]
mov eax, 0x834e0b5f
imul edi
mov eax, edi
mov ecx, 0x1f31d
add edx, edi
sar edx, 0x10
mov esi, edx
shr esi, 0x1f
add esi, edx
cdq
idiv ecx
imul eax, esi, 0xb14
imul ecx, edx, 0x41a7
sub ecx, eax
lea esi, [ecx + 0x7fffffff]
cmovns esi, ecx
xor edx, edx
mov eax, esi
div dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x418480
mov eax, dword [eax + edx*4]
test eax, eax
je 0x418480
cmp dword [eax + 0xc], esi
jne 0x418479
cmp dword [eax], edi
je 0x4184c4
mov eax, dword [eax + 8]
test eax, eax
jne 0x418470
mov dword [ebp - 0x1c], edi
mov edx, edi
lea ecx, [ebp - 0x24]
call fcn.00419c50
push 0x12
mov byte [ebp - 4], 0xd
push dword [ebp - 0x24]
call dword [sym.imp.USER32.dll_LoadKeyboardLayoutW]
mov esi, eax
test esi, esi
je 0x4184d0
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0xffffffff
mov ecx, esi
call fcn.00419260
mov edi, dword [ebp - 0x1c]
test al, al
je 0x4184d3
xor eax, eax
cmp dword [ebp - 0x28], edi
cmovne esi, eax
jmp 0x4184d3
test eax, eax
je 0x418480
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
jmp 0x418483
mov edi, dword [ebp - 0x1c]
mov byte [ebp - 4], 0xc
or eax, 0xffffffff
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4184f2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x418504
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x418519
mov edi, esi
mov dword [ebp - 0x30], edi
jmp 0x41852e
push edi
push dword [ebp - 0xf8]
lea ecx, [ebp - 0x100]
call fcn.00439139
mov ecx, dword [ebp - 0x14]
sub ecx, 1
mov dword [ebp - 0x14], ecx
js 0x41852c
mov eax, dword [ebp - 0xe4]
jmp 0x418410
xor edi, edi
test edi, edi
je 0x418574
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], edi
push eax
push 0
push 0x5a
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
push dword [ebp - 0x28]
mov esi, eax
mov dword [ebp - 0x20], 0x18
push 1
push 0x50
lea eax, [ebp - 0x20]
push eax
push 0x10
call dword [sym.imp.USER32.dll_BroadcastSystemMessageW]
test esi, esi
sete byte [ebp - 0xd]
cmp byte [ebp - 0x29], 0
je 0x418578
call fcn.00431280
jmp 0x418578
mov byte [ebp - 0xd], 1
cmp byte [ebp - 0x2a], 0
mov esi, dword [ebp - 0x34]
je 0x418606
mov eax, dword [esi + 4]
test eax, eax
je 0x418606
cmp eax, dword [esi]
jne 0x418599
mov dword [ebp - 0x54], 0
jmp 0x418611
test edi, edi
jne 0x4185f5
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x68], 0x479ae4
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xe
call fcn.00417840
mov edx, dword [ebp - 0x64]
test al, al
je 0x4185e4
mov edi, dword [ebp - 0x60]
xor eax, eax
test edi, edi
jle 0x4185e1
nop dword [eax]
mov ecx, dword [edx + eax*4]
cmp ecx, dword [esi + 4]
jne 0x41866b
inc eax
cmp eax, edi
jl 0x4185d0
mov edi, dword [ebp - 0x30]
test edx, edx
je 0x4185f1
push edx
call fcn.00437038
add esp, 4
test edi, edi
je 0x418606
mov eax, dword [esi + 4]
test eax, eax
je 0x418590
cmp eax, dword [esi]
je 0x418590
cmp edi, eax
je 0x418606
mov dword [esi], edi
mov dword [ebp - 0x54], 0
test esi, esi
je 0x418652
mov eax, dword [esi + 4]
test eax, eax
je 0x418647
mov ecx, dword [esi]
cmp eax, ecx
je 0x418647
push 0
push ecx
call dword [sym.imp.USER32.dll_ActivateKeyboardLayout]
cmp byte [esi + 8], 0
mov dword [esi], 0
je 0x418640
push dword [esi + 4]
call dword [sym.imp.USER32.dll_UnloadKeyboardLayout]
mov byte [esi + 8], 0
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0044ae4b
add esp, 8
mov byte [ebp - 4], 0x10
call fcn.004363ea
mov ecx, eax
mov byte [ebp - 4], 0xf
test ecx, ecx
je 0x419148
jmp 0x418672
mov edi, ecx
jmp 0x4185e4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x13
call fcn.004363ea
mov ecx, eax
mov byte [ebp - 4], 0x12
test ecx, ecx
je 0x419152
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x28], edi
mov byte [ebp - 4], 0x16
call fcn.004363ea
mov ecx, eax
mov byte [ebp - 4], 0x15
test ecx, ecx
je 0x41915c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0xa0], 0
jle 0x418b59
push 0x9b
push str.The_following_layout_s__could_not_be_unloaded_because_they_are_being_used_by_other_applications._nThey_will_be_deactivated_updated_the_next_time_you_log_in:
lea ecx, [ebp - 0x28]
call fcn.00403e20
xor edi, edi
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0xa0], edi
jle 0x418b56
nop dword [eax + eax]
mov byte [ebp - 4], 0x19
call fcn.004363ea
mov ecx, eax
mov byte [ebp - 4], 0x18
test ecx, ecx
je 0x419148
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x1a
test edi, edi
js 0x419143
cmp edi, dword [ebp - 0x120]
jge 0x419143
mov eax, dword [ebp - 0x124]
movzx edx, word [eax + edi*2]
mov eax, 0xffff
cmp dx, ax
je 0x4187ef
cmp edi, dword [ebp - 0xa0]
jge 0x419143
mov eax, dword [ebp - 0xa4]
cmp dx, word [eax + edi*4]
je 0x4187fe
lea ecx, [ebp - 0x4c]
call fcn.0041a330
mov byte [ebp - 4], 0x1b
add esi, 0xfffffff0
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
cmp edx, esi
je 0x4187ce
cmp dword [esi + 0xc], 0
jl 0x4187c2
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x4187c2
push edx
call fcn.00403700
add esp, 4
mov dword [ebp - 0x38], eax
or ecx, 0xffffffff
lea edx, [esi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4187ba
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x38]
add eax, 0x10
mov dword [ebp - 0x14], eax
jmp 0x4187ce
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x14]
call fcn.00403e20
mov byte [ebp - 4], 0x1a
or eax, 0xffffffff
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4187fe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4187fe
push 0x12
push str._Unknown_language_
lea ecx, [ebp - 0x14]
call fcn.00403e20
cmp edi, dword [ebp - 0xa0]
jge 0x419143
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x70]
mov edi, dword [eax + edi*4]
call fcn.00413220
push ecx
lea edx, [ebp - 0x70]
mov byte [ebp - 4], 0x1c
mov ecx, edi
call fcn.004148b0
mov esi, dword [ebp - 0x18]
add esp, 4
or esi, 0x10
mov dword [ebp - 0x18], esi
test al, al
je 0x418848
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x70]
call fcn.004133e0
jmp 0x418855
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.00419c50
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x30], esi
call fcn.00413320
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x24]
push 0x485318
push eax
call fcn.00406920
add esp, 0xc
mov edx, dword [ebp - 0x44]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418894
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x14]
mov ecx, 0x4792ac
mov eax, edi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4188c6
test dx, dx
je 0x4188c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4188c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4188a0
xor eax, eax
jmp 0x4188cb
sbb eax, eax
or eax, 1
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x418afd
mov ecx, dword [edi - 0x10]
test ecx, ecx
je 0x4188eb
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x4188ff
mov byte [ebp - 4], 0x22
call fcn.004363ea
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
mov byte [ebp - 4], 0x23
test ecx, ecx
je 0x419148
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov byte [ebp - 4], 0x21
lea esi, [eax + 0x10]
mov eax, dword [ebp - 0x18]
or eax, 0x40
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], eax
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x48], eax
lea edx, [eax + 0x10]
test edx, edx
js 0x419166
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x418956
push edx
lea ecx, [ebp - 0x7c]
call fcn.004041a0
mov esi, dword [ebp - 0x7c]
test esi, esi
jne 0x41896c
call fcn.004542cd
mov dword [eax], 0x16
call fcn.004541cf
jmp 0x418981
movups xmm0, xmmword [str.__registered_as]
movups xmmword [esi], xmm0
movups xmm0, xmmword [0x485330]
movups xmmword [esi + 0x10], xmm0
mov eax, dword [ebp - 0x48]
lea ecx, [eax + eax]
lea eax, [esi + 0x20]
test ecx, ecx
je 0x4189af
test eax, eax
jne 0x4189a4
call fcn.004542cd
mov dword [eax], 0x16
call fcn.004541cf
jmp 0x4189af
push ecx
push edi
push eax
call fcn.0044ca70
add esp, 0xc
mov eax, dword [ebp - 0x48]
add eax, 0x10
cmp eax, dword [esi - 8]
jg 0x419166
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
mov ecx, dword [esi - 0x10]
test ecx, ecx
je 0x4189db
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x4189ef
mov byte [ebp - 4], 0x25
call fcn.004363ea
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
mov byte [ebp - 4], 0x26
test ecx, ecx
je 0x419148
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov byte [ebp - 4], 0x24
lea edi, [eax + 0x10]
mov eax, dword [ebp - 0x18]
or eax, 0x20
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], eax
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x38], eax
lea edx, [eax + 1]
test edx, edx
js 0x419166
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, edx
or eax, ecx
jge 0x418a46
push edx
lea ecx, [ebp - 0x40]
call fcn.004041a0
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
add eax, eax
mov dword [ebp - 0x48], eax
je 0x418a74
test edi, edi
jne 0x418a66
call fcn.004542cd
mov dword [eax], 0x16
call fcn.004541cf
jmp 0x418a71
push eax
push esi
push edi
call fcn.0044ca70
add esp, 0xc
mov eax, dword [ebp - 0x48]
add eax, edi
jne 0x418a8a
call fcn.004542cd
mov dword [eax], 0x16
call fcn.004541cf
jmp 0x418a92
mov ecx, 0x29
mov word [eax], cx
mov eax, dword [ebp - 0x38]
inc eax
cmp eax, dword [edi - 8]
jg 0x419166
xor ecx, ecx
mov dword [edi - 0xc], eax
mov word [edi + eax*2], cx
lea ecx, [ebp - 0x24]
push dword [edi - 0xc]
push edi
call fcn.004037d0
mov ecx, dword [ebp - 0x18]
add edi, 0xfffffff0
and ecx, 0xffffffdf
or eax, 0xffffffff
mov dword [ebp - 0x18], ecx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x418ad8
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x18]
and ecx, 0xffffffbf
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x18], ecx
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x418afa
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x28]
push dword [eax - 0xc]
push eax
call fcn.004037d0
mov edx, dword [ebp - 0x24]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418b27
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x418b43
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, dword [ebp - 0xa0]
jl 0x418700
mov edi, dword [ebp - 0x28]
cmp dword [ebp - 0xf8], 0
jle 0x418d4c
push 0x68
push str.The_following_layout_s__could_not_be_loaded_at_this_moment._nThey_will_be_activated_next_time_you_log_in:
lea ecx, [ebp - 0x34]
call fcn.00403e20
mov eax, dword [ebp - 0xf8]
xor ecx, ecx
mov dword [ebp - 0x40], ecx
test eax, eax
jle 0x418d4c
test ecx, ecx
js 0x419143
cmp ecx, eax
jge 0x419143
mov eax, dword [ebp - 0xfc]
mov esi, dword [eax + ecx*4]
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x4c], esi
call fcn.00413220
push ecx
lea edx, [ebp - 0x70]
mov byte [ebp - 4], 0x27
mov ecx, esi
call fcn.004148b0
mov esi, dword [ebp - 0x18]
add esp, 4
or esi, 2
mov dword [ebp - 0x18], esi
test al, al
je 0x418bd9
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x70]
call fcn.004133e0
jmp 0x418be7
mov edx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14]
call fcn.00419c50
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x30], esi
call fcn.00413320
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x418c09
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x418c1d
mov byte [ebp - 4], 0x2a
call fcn.004363ea
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
mov byte [ebp - 4], 0x2b
test ecx, ecx
je 0x419148
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov byte [ebp - 4], 0x29
lea esi, [eax + 0x10]
mov eax, dword [ebp - 0x18]
or eax, 1
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x4c], eax
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x38], eax
lea edx, [eax + 2]
test edx, edx
js 0x419166
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x418c7a
push edx
lea ecx, [ebp - 0x20]
call fcn.004041a0
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x418c90
call fcn.004542cd
mov dword [eax], 0x16
call fcn.004541cf
jmp 0x418c96
mov dword [esi], 0x9000a
mov eax, dword [ebp - 0x38]
lea ecx, [eax + eax]
lea eax, [esi + 4]
test ecx, ecx
je 0x418cd6
test eax, eax
je 0x418cc6
mov edx, dword [ebp - 0x4c]
push ecx
test edx, edx
je 0x418cbb
push edx
push eax
call fcn.0044ca70
add esp, 0xc
jmp 0x418cd6
push 0
push eax
call fcn.0044cff0
add esp, 0xc
call fcn.004542cd
mov dword [eax], 0x16
call fcn.004541cf
mov eax, dword [ebp - 0x38]
add eax, 2
cmp eax, dword [esi - 8]
jg 0x419166
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
lea ecx, [ebp - 0x34]
push dword [esi - 0xc]
push esi
call fcn.004037d0
and dword [ebp - 0x18], 0xfffffffe
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x418d16
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
or esi, 0xffffffff
mov edx, dword [ebp - 0x14]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418d37
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0xf8]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, eax
jl 0x418b88
cmp byte [ebp - 0xd], 0
je 0x418e24
cmp dword [ebp - 0x88], 0
jle 0x418d7b
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 4]
cmp dword [ecx + 8], 0
jle 0x418d7b
movzx eax, word [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 4]
mov esi, dword [eax]
jmp 0x418d85
mov dword [ebp - 0x20], 0xffff
or esi, 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00413220
push ecx
lea edx, [ebp - 0x70]
mov byte [ebp - 4], 0x2c
mov ecx, esi
call fcn.004148b0
add esp, 4
test al, al
je 0x418db1
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x70]
call fcn.004133e0
jmp 0x418dbb
mov edx, esi
lea ecx, [ebp - 0x24]
call fcn.00419c50
lea ecx, [ebp - 0x70]
call fcn.00413320
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x4c]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
call fcn.0041a330
push esi
mov byte [ebp - 4], 0x2e
push dword [eax]
lea eax, [ebp - 0x1c]
push str.Could_not_change_default_layout_to_n_s____s_nat_this_moment._This_change_will_become_effective_the_next_time_you_log_in
push eax
call fcn.00403530
mov edx, dword [ebp - 0x4c]
or esi, 0xffffffff
add esp, 0x10
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418e0a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418e24
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, 0x4792ac
mov eax, edi
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x418e56
test dx, dx
je 0x418e52
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x418e56
add eax, 4
add ecx, 4
test dx, dx
jne 0x418e30
xor eax, eax
jmp 0x418e5b
sbb eax, eax
or eax, 1
test eax, eax
je 0x418ebc
mov esi, dword [ebp - 0x3c]
mov ecx, 0x4792ac
mov eax, dword [esi]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x418e96
test dx, dx
je 0x418e92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x418e96
add eax, 4
add ecx, 4
test dx, dx
jne 0x418e70
xor eax, eax
jmp 0x418e9b
sbb eax, eax
or eax, 1
mov byte [ebp - 4], 0x17
test eax, eax
je 0x418eb1
push 2
push 0x48550c
mov ecx, esi
call fcn.004037d0
push dword [edi - 0xc]
mov ecx, esi
push edi
call fcn.004037d0
mov esi, dword [ebp - 0x34]
mov ecx, 0x4792ac
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x418eec
test dx, dx
je 0x418ee8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x418eec
add eax, 4
add ecx, 4
test dx, dx
jne 0x418ec6
xor eax, eax
jmp 0x418ef1
sbb eax, eax
or eax, 1
test eax, eax
je 0x418f4e
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov ecx, 0x4792ac
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x418f26
test dx, dx
je 0x418f22
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x418f26
add eax, 4
add ecx, 4
test dx, dx
jne 0x418f00
xor eax, eax
jmp 0x418f2b
sbb eax, eax
or eax, 1
mov byte [ebp - 4], 0x17
test eax, eax
je 0x418f42
mov ecx, dword [ebp - 0x3c]
push 2
push 0x48550c
call fcn.004037d0
push dword [esi - 0xc]
mov ecx, dword [ebp - 0x3c]
push esi
call fcn.004037d0
mov eax, dword [ebp - 0x1c]
mov edx, 0x4792ac
mov ecx, eax
nop dword [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0x34]
jne 0x418f93
cmp word [ecx], 0
je 0x418f8f
mov si, word [ecx + 2]
cmp si, word [edx + 2]
mov word [ebp - 0xe], si
mov esi, dword [ebp - 0x34]
jne 0x418f93
add ecx, 4
add edx, 4
cmp word [ebp - 0xe], 0
jne 0x418f60
xor ecx, ecx
jmp 0x418f98
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x419007
mov ecx, dword [ebp - 0x3c]
mov edx, 0x4792ac
mov ecx, dword [ecx]
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0x34]
jne 0x418fd9
cmp word [ecx], 0
je 0x418fd5
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
mov word [ebp - 0xe], ax
mov eax, dword [ebp - 0x1c]
jne 0x418fd9
add ecx, 4
add edx, 4
cmp word [ebp - 0xe], 0
jne 0x418fa6
xor ecx, ecx
jmp 0x418fde
sbb ecx, ecx
or ecx, 1
mov byte [ebp - 4], 0x17
test ecx, ecx
je 0x418ff8
mov ecx, dword [ebp - 0x3c]
push 2
push 0x48550c
call fcn.004037d0
mov eax, dword [ebp - 0x1c]
push dword [eax - 0xc]
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.004037d0
mov eax, dword [ebp - 0x1c]
lea edx, [eax - 0x10]
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41901f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [edi - 0x10]
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x419039
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x41904e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x100]
mov byte [ebp - 0xd], 1
call fcn.00438f51
lea ecx, [ebp - 0x128]
call fcn.0043a820
lea ecx, [ebp - 0xa8]
call fcn.00438f51
lea ecx, [ebp - 0x78]
call fcn.004107b0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], vtable.CMap_unsigned_long_int__unsigned_long_int__unsigned_long_int__unsigned_long_int_.0
test eax, eax
je 0x4190a6
push eax
call fcn.00437038
add esp, 4
mov dword [ebp - 0xc0], 0
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
call fcn.0043ab57
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xb0], 0
call fcn.00438f51
lea ecx, [ebp - 0x13c]
call fcn.00438f51
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x94], vtable.CPreloadList.0
call fcn.004304c0
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x419111
push eax
call fcn.00437038
add esp, 4
lea ecx, [ebp - 0x114]
call fcn.00438f51
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
je 0x41912f
push ecx
call fcn.00437038
add esp, 4
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00436600
push 0x80004005
call fcn.00404410
push 0x80004005
call fcn.00404410
push 0x80004005
call fcn.00404410
push 0x80070057
call fcn.00404410
int3