Function at 0x10042de9
Capabilities:
Identify system language via api
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006c720
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x32c
push esi
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x1004386f
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x138], 0xffffffff
mov byte [ebp - 0x2e], 0
movzx eax, byte [ebp - 0x2e]
test eax, eax
je 0x10042e60
push 0x74e
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Polygon]
cmp dword [ebp - 0x54], 0
jne 0x10042e90
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jne 0x10042e90
and dword [ebp - 0x198], 0
jmp 0x10042e9a
mov dword [ebp - 0x198], 1
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x198]
je 0x10042eb1
mov dword [ebp - 0xd0], 1
jmp 0x10042eb8
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
jne 0x10042ed1
cmp dword [ebp - 0x54], 0
cmp dword [ebp - 0xbc], 0
je 0x10042f0c
mov dword [ebp - 0xd8], 0x50f82bae
mov byte [ebp - 0x36], 0
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x10042efd
push 0x1418
push 0
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebp - 0xd8]
dec eax
mov dword [ebp - 0xd8], eax
jmp 0x10042f25
mov byte [ebp - 0x2a], 0
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x10042f25
push 0
push 0x15ee
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x48], 0xfffffffe
mov dword [ebp - 0x80], 0
jmp 0x10042f45
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 1
jge 0x10042f5b
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x1d0], 0x13b9
jmp 0x10042f3e
mov dword [ebp - 0x48], 0
jmp 0x10042f6b
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jg 0x10042f82
mov eax, dword [ebp - 0x48]
cmp dword [ebp + eax*4 - 0x1d0], 0
je 0x10042f80
jmp 0x10042f82
jmp 0x10042f64
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x74], 0x91a049fe
mov dword [ebp - 0x1fc], 0x70cd5099
mov byte [ebp - 0x2b], 0
movzx eax, byte [ebp - 0x2b]
test eax, eax
je 0x10042fc0
push 0
push 0x2d3
push 0
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
mov dword [ebp - 0x74], 0xfffffff6
jmp 0x10042fd0
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 9
jl 0x10043011
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x8c], 0x1c
jmp 0x10042ff9
mov eax, dword [ebp - 0x8c]
dec eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0xfffffffe
jg 0x1004300f
cmp dword [ebp - 0x1fc], 0
je 0x1004300d
jmp 0x1004300f
jmp 0x10042fec
jmp 0x10042fc9
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x14], 0x5043c4ab
mov dword [ebp - 0x214], 9
mov dword [ebp - 0x1f4], 0xddac0faa
mov dword [ebp - 0x7c], 0
jmp 0x10043045
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 1
jge 0x1004305b
mov eax, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0xb4], 5
jmp 0x1004303e
cmp dword [ebp - 0x14], 0
je 0x100430e9
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jne 0x10043082
mov dword [ebp - 0x20c], 1
jmp 0x10043089
and dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x168], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x168]
mov dword [ebp + eax - 0xb4], ecx
cmp dword [ebp - 0x168], 0
jne 0x100430df
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xb4], 0
jne 0x100430df
and dword [ebp - 0xe0], 0
jmp 0x100430e9
mov dword [ebp - 0xe0], 1
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xb4], 0
jne 0x10043105
mov dword [ebp - 0x140], 1
jmp 0x1004310c
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x140], eax
jl 0x10043123
mov dword [ebp - 0xe8], 1
jmp 0x1004312a
and dword [ebp - 0xe8], 0
cmp dword [ebp - 0xe8], 0xfff8
je 0x10043142
mov dword [ebp - 0x18c], 1
jmp 0x10043149
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x214]
add eax, dword [ebp - 0x18c]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 0x2d], 0
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x1004316d
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1e0], eax
push 1
lea ecx, [ebp - 0x224]
call fcn.10014761
and dword [ebp - 4], 0
mov dword [ebp - 0x84], 0xb96ca2c
mov dword [ebp - 0x9c], 0
jmp 0x100431ad
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x100431cf
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x224]
call fcn.100147ff
mov dword [eax], 0x47dfa860
jmp 0x100431a0
push 0
lea ecx, [ebp - 0x224]
call fcn.100147ff
mov esi, eax
push 0
lea ecx, [ebp - 0x224]
call fcn.100147ff
mov ecx, dword [esi]
mov dword [eax], ecx
mov dword [ebp - 0x84], 0
jmp 0x10043208
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 3
jg 0x10043226
push 0
lea ecx, [ebp - 0x224]
call fcn.100147ff
mov dword [eax], 0x6da5043c
jmp 0x100431fb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.100147e3
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x264], 0xfff9
mov dword [ebp - 0x260], 0xfff9
mov dword [ebp - 0x25c], 0xfff9
mov dword [ebp - 0x258], 0xfff9
lea ecx, [ebp - 0xa1]
call fcn.10008a08
push eax
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x324]
call fcn.1001480e
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x23c]
call fcn.100147bd
mov dword [ebp - 4], 1
push 1
lea ecx, [ebp - 0x174]
call fcn.10014761
mov byte [ebp - 4], 2
mov dword [ebp - 0x2bc], 0xfffb
mov dword [ebp - 0x64], 0
jmp 0x100432d0
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 1
jge 0x100432e9
push dword [ebp - 0x64]
lea ecx, [ebp - 0x174]
call fcn.100147ff
and dword [eax], 0
jmp 0x100432c9
push 0
lea ecx, [ebp - 0x174]
call fcn.100147ff
and dword [eax], 0
jmp 0x1004331f
push 0
lea ecx, [ebp - 0x174]
call fcn.100147ff
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0xf0]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x174]
call fcn.100147ff
cmp dword [eax], 3
jg 0x1004357c
mov dword [ebp - 0x3c], 0x60b0ceaf
mov dword [ebp - 0x10], 0xed45
mov byte [ebp - 0x2f], 0
movzx eax, byte [ebp - 0x2f]
test eax, eax
je 0x1004335e
push 0
push 0xad4
push 0
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
mov dword [ebp - 0x3c], 0
jmp 0x1004336e
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 3
jg 0x10043577
push 0
lea ecx, [ebp - 0x174]
call fcn.100147ff
push dword [eax]
lea ecx, [ebp - 0x23c]
call fcn.100147ff
cmp dword [eax], 0
jne 0x100433a3
mov dword [ebp - 0x148], 1
jmp 0x100433aa
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x148], eax
jl 0x100433c1
mov dword [ebp - 0xf8], 1
jmp 0x100433c8
and dword [ebp - 0xf8], 0
cmp dword [ebp - 0xf8], 0xffffffff
jne 0x100433dd
mov dword [ebp - 0x17c], 1
jmp 0x100433e4
and dword [ebp - 0x17c], 0
cmp dword [ebp - 0x17c], 0x82ca9683
jb 0x100433fc
mov dword [ebp - 0x100], 1
jmp 0x10043403
and dword [ebp - 0x100], 0
push 0
lea ecx, [ebp - 0x174]
call fcn.100147ff
push dword [eax]
lea ecx, [ebp - 0x23c]
call fcn.100147ff
mov eax, dword [eax]
cmp eax, dword [ebp - 0x100]
jl 0x10043433
mov dword [ebp - 0x150], 1
jmp 0x1004343a
and dword [ebp - 0x150], 0
push 0
lea ecx, [ebp - 0x174]
call fcn.100147ff
push dword [eax]
lea ecx, [ebp - 0x23c]
call fcn.100147ff
mov ecx, dword [ebp - 0x150]
cmp ecx, dword [eax]
je 0x1004346a
mov dword [ebp - 0x108], 1
jmp 0x10043471
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
sub eax, 0x6de4f51e
cmp eax, 0xa98815cb
ja 0x1004348f
mov dword [ebp - 0x19c], 1
jmp 0x10043496
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x19c], eax
jne 0x100434b6
mov eax, 0xffff
test eax, eax
je 0x100434b6
mov dword [ebp - 0x110], 1
jmp 0x100434bd
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x110], eax
jle 0x1004351c
mov dword [ebp - 0x10], 0
jmp 0x100434d8
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jg 0x100434fa
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x100434f8
push 0
push 0
push 1
push 0
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
jmp 0x100434d1
mov dword [ebp - 0x10], 0
jmp 0x1004350a
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jg 0x1004351a
cmp dword [ebp - 0x3c], 0
je 0x10043518
jmp 0x1004351a
jmp 0x10043503
jmp 0x10043531
mov dword [ebp - 0x1c8], 0x311c3fc0
cmp dword [ebp - 0x1c8], 0
je 0x10043531
jmp 0x10043577
mov byte [ebp - 0x33], 0
movzx eax, byte [ebp - 0x33]
test eax, eax
je 0x10043572
push 0x25cf
push 0x136e
push 0x73b
push 0x1730
push 0x241c
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawStateW]
jmp 0x10043367
jmp 0x100432fb
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x174]
call fcn.100147e3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.100147e3
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f8], eax
push 3
lea ecx, [ebp - 0x270]
call fcn.10014761
mov dword [ebp - 4], 3
mov dword [ebp - 0x4c], 0xfffffff7
mov dword [ebp - 0x2c4], 0x2e08974b
mov dword [ebp - 0x2cc], 0xffffffff
mov dword [ebp - 0x78], 3
mov dword [ebp - 0x2d4], 3
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2e4], 0x1e3ff14e
mov dword [ebp - 0x2ec], 0xfffffffe
mov dword [ebp - 0x2f4], 3
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x2d8], 0xfffffffb
mov dword [ebp - 0x28c], 0x3aaf5bfb
mov dword [ebp - 0x29c], 7
mov dword [ebp - 0x2a4], 0xfc9b996a
mov dword [ebp - 0x2ac], 0xffffffff
mov dword [ebp - 0x2a8], 0xffffffff
mov dword [ebp - 0x308], 1
mov dword [ebp - 0x2b0], 0xd1883800
mov dword [ebp - 0x6c], 0
jmp 0x10043684
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 3
jge 0x100436a0
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x270]
call fcn.100147ff
mov dword [eax], 0x77862fd4
jmp 0x1004367d
mov dword [ebp - 0x4c], 2
jmp 0x100436b0
mov eax, dword [ebp - 0x4c]
dec eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jl 0x100437cf
mov dword [ebp - 0x2e0], 0xffffffff
mov dword [ebp - 0x250], 9
mov dword [ebp - 0x24c], 9
mov dword [ebp - 0x248], 9
mov dword [ebp - 0x244], 9
lea ecx, [ebp - 0xa9]
call fcn.10008a08
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x32c]
call fcn.1001480e
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x304]
call fcn.100147bd
mov byte [ebp - 4], 4
push 4
lea ecx, [ebp - 0x288]
call fcn.10014761
mov byte [ebp - 4], 5
mov dword [ebp - 0x158], 0x3d97
mov dword [ebp - 0x70], 0
jmp 0x10043750
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 4
jge 0x1004376c
push dword [ebp - 0x70]
lea ecx, [ebp - 0x288]
call fcn.100147ff
mov dword [eax], 4
jmp 0x10043749
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x270]
call fcn.100147ff
cmp dword [eax], 0
je 0x1004379f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x288]
call fcn.100147e3
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x304]
call fcn.100147e3
jmp 0x100437cf
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x288]
call fcn.100147e3
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x304]
call fcn.100147e3
jmp 0x100436a9
mov dword [ebp - 0x78], 0
jmp 0x100437df
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 2
jg 0x100437fe
mov dword [ebp - 0x118], 8
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
jmp 0x100437d8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x270]
call fcn.100147e3
push 0
mov ecx, dword [ebp - 0x218]
call fcn.100147ff
mov ecx, dword [ebp - 0x1d8]
mov ecx, dword [ecx]
cmp dword [eax], ecx
jl 0x10043832
mov dword [ebp - 0x184], 1
jmp 0x10043839
and dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x1f8]
mov eax, dword [eax]
cmp dword [ebp - 0x184], eax
jg 0x10043855
mov dword [ebp - 0x120], 1
jmp 0x1004385c
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x120]
mov dword [eax], ecx
jmp 0x1004426d
mov dword [ebp - 0x1e8], 0xb34e6d4f
mov dword [ebp - 0x68], 0
jmp 0x10043889
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 1
jge 0x1004389f
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x88], 0xfffffffa
jmp 0x10043882
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x88], 0
jmp 0x100438cd
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x88]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x88], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x88], 0x1c
jge 0x10043909
mov dword [ebp - 0x210], 1
mov byte [ebp - 0x32], 0
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x100438fb
push 0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x1e8], eax
jmp 0x100438b2
mov byte [ebp - 0x2c], 0
movzx eax, byte [ebp - 0x2c]
test eax, eax
je 0x10043929
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1c0], 0x2e0cf572
mov dword [ebp - 0x2b8], 0xfffffff9
mov dword [ebp - 0x50], 0xfffffff8
mov dword [ebp - 0x18], 0
jmp 0x1004395d
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10043973
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x298], 6
jmp 0x10043956
mov dword [ebp - 0x18], 0
jmp 0x10043983
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jge 0x10043999
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa8], 0x425a
jmp 0x1004397c
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xa8], 0
je 0x10043a0d
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x50], eax
jl 0x100439c4
mov dword [ebp - 0x160], 1
jmp 0x100439cb
and dword [ebp - 0x160], 0
cmp dword [ebp - 0x160], 9
jle 0x100439e0
mov dword [ebp - 0x128], 1
jmp 0x100439e7
and dword [ebp - 0x128], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x128]
mov dword [ebp + eax - 0x298], ecx
push 0xfffffffffffffff9
pop eax
test eax, eax
je 0x10043a0d
mov dword [ebp - 0x194], 1
jmp 0x10043a14
and dword [ebp - 0x194], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xa8]
sub eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x50]
jne 0x10043a38
mov dword [ebp - 0x130], 1
jmp 0x10043a3f
and dword [ebp - 0x130], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xa8]
add eax, dword [ebp - 0x130]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x2f8], 0x752570e
mov dword [ebp - 0x98], 0xd40a7fc
mov dword [ebp - 0x90], 0
jmp 0x10043a95
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 3
jge 0x10043ab1
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x230], 0xf572
jmp 0x10043a88
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x230]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0
jmp 0x10043ad0
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 2
jg 0x10043c80
push 1
lea ecx, [ebp - 0x1b0]
call fcn.10014761
mov dword [ebp - 4], 6
mov dword [ebp - 0x58], 0xb6d0374c
mov dword [ebp - 0x1c], 0
jmp 0x10043b05
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jge 0x10043b21
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1b0]
call fcn.100147ff
mov dword [eax], 0xad86e52d
jmp 0x10043afe
mov dword [ebp - 0x1c], 0
jmp 0x10043b31
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10043b47
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x338], 0xffffffff
jmp 0x10043b2a
push 0
lea ecx, [ebp - 0x1b0]
call fcn.100147ff
and dword [eax], 0
jmp 0x10043b7d
push 0
lea ecx, [ebp - 0x1b0]
call fcn.100147ff
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x1b0]
call fcn.100147ff
cmp dword [eax], 2
jg 0x10043bb1
mov esi, dword [ebp - 0x40]
push 0
lea ecx, [ebp - 0x1b0]
call fcn.100147ff
mov eax, dword [eax]
mov ecx, dword [ebp + esi*4 - 0x230]
mov dword [ebp + eax*4 - 0x230], ecx
jmp 0x10043b59
mov dword [ebp - 0x58], 0
jmp 0x10043bc1
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 2
jg 0x10043c1b
mov dword [ebp - 0x2c0], 0x8475761a
mov dword [ebp - 0xcc], 0xfffffff6
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp + eax*4 - 0x230]
inc eax
mov dword [ebp - 0xcc], eax
mov esi, dword [ebp - 0xcc]
push 0
lea ecx, [ebp - 0x1b0]
call fcn.100147ff
mov dword [eax], esi
mov byte [ebp - 0x35], 0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x10043c19
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegConnectRegistryW]
jmp 0x10043bba
mov dword [ebp - 0x98], 2
jmp 0x10043c34
mov eax, dword [ebp - 0x98]
dec eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jl 0x10043c6c
mov byte [ebp - 0x29], 0
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x10043c4f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [ebp - 0x34], 0
movzx eax, byte [ebp - 0x34]
test eax, eax
je 0x10043c6a
push 0
push 0x2d3
push 0
call dword [sym.imp.GDI32.dll_GetEnhMetaFileHeader]
jmp 0x10043c27
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b0]
call fcn.100147e3
jmp 0x10043ac9
mov dword [ebp - 0x94], 0x6ff5
mov dword [ebp - 0x28], 0xe7ed6f18
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x60], 0xe9ab5c29
mov dword [ebp - 0xa0], 0
jmp 0x10043cb8
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 2
jge 0x10043cd4
mov eax, dword [ebp - 0xa0]
mov dword [ebp + eax*4 - 0x1a4], 0x9869ec42
jmp 0x10043cab
mov eax, 0xeb59
test eax, eax
je 0x10043cf4
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x94], eax
jg 0x10043cf4
mov dword [ebp - 0xd4], 1
jmp 0x10043cfb
and dword [ebp - 0xd4], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1a4]
cmp dword [ebp - 0xd4], eax
jg 0x10043d1c
mov dword [ebp - 0x1bc], 1
jmp 0x10043d23
and dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1a4]
cmp eax, dword [ebp - 0x44]
je 0x10043d59
mov dword [ebp - 0xdc], 1
jmp 0x10043d60
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
add eax, 0xc608
cmp dword [ebp - 0x94], eax
jne 0x10043d8c
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x1a4], 0
jne 0x10043d8c
and dword [ebp - 0xe4], 0
jmp 0x10043d96
mov dword [ebp - 0xe4], 1
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0x60]
jl 0x10043dcc
mov byte [ebp - 0x30], 0
movzx eax, byte [ebp - 0x30]
test eax, eax
je 0x10043dc7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetBkColor]
jmp 0x10043f93
mov dword [ebp - 0x60], 0
jmp 0x10043ddc
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 1
jg 0x10043f93
mov dword [ebp - 0xb0], 0xfffffff9
mov dword [ebp - 0xc4], 1
mov dword [ebp - 0x28], 0
jmp 0x10043e0a
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jg 0x10043f8e
push 3
lea ecx, [ebp - 0x27c]
call fcn.10014761
mov dword [ebp - 4], 7
mov dword [ebp - 0x20], 0
jmp 0x10043e38
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10043e4e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x31c], 0
jmp 0x10043e31
mov dword [ebp - 0x20], 0
jmp 0x10043e5e
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10043e7a
push dword [ebp - 0x20]
lea ecx, [ebp - 0x27c]
call fcn.100147ff
mov dword [eax], 4
jmp 0x10043e57
cmp dword [ebp - 0x44], 0
jne 0x10043ef4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x1a4]
mov dword [ebp - 0x310], eax
mov eax, 0xca3
test eax, eax
je 0x10043eae
cmp dword [ebp - 0xb0], 0
je 0x10043eae
mov dword [ebp - 0xec], 1
jmp 0x10043eb5
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xfc], eax
push 2
lea ecx, [ebp - 0x27c]
call fcn.100147ff
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
cmp dword [ebp - 0xfc], 0
jne 0x10043ef4
and dword [ebp - 0x104], 0
jmp 0x10043efe
mov dword [ebp - 0x104], 1
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x31c], 4
cmp dword [ebp - 0x104], 4
jge 0x10043f24
mov dword [ebp - 0x1cc], 1
jmp 0x10043f2b
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xb0]
cmp dword [ebp + eax*4 - 0x1a4], ecx
jg 0x10043f49
mov dword [ebp - 0x10c], 1
jmp 0x10043f50
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0xb0]
cmp dword [ebp - 0x10c], eax
jl 0x10043f6a
mov dword [ebp - 0x114], 1
jmp 0x10043f71
and dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x44], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x27c]
call fcn.100147e3
jmp 0x10043e03
jmp 0x10043dd5
mov eax, dword [ebp - 0x94]
neg eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x13c], 0xfffc
mov dword [ebp - 0xc0], 1
mov dword [ebp - 0x2d0], 0x69be541
mov dword [ebp - 0xb8], 0xca335c22
mov dword [ebp - 0x154], 1
push 2
lea ecx, [ebp - 0x208]
call fcn.10014761
mov dword [ebp - 4], 8
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x24], 0
jmp 0x10044011
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jge 0x10044027
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x180], 0x52a2c7a2
jmp 0x1004400a
mov dword [ebp - 0x24], 0
jmp 0x10044037
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x10044053
push dword [ebp - 0x24]
lea ecx, [ebp - 0x208]
call fcn.100147ff
mov dword [eax], 8
jmp 0x10044030
mov eax, dword [ebp - 0x13c]
imul eax, dword [ebp - 0xc0]
test eax, eax
je 0x10044079
cmp dword [ebp - 0xb8], 0
je 0x10044079
mov dword [ebp - 0x11c], 1
jmp 0x10044080
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x11c], eax
jne 0x1004409a
mov dword [ebp - 0x124], 1
jmp 0x100440a1
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0x124], eax
jge 0x100440bb
mov dword [ebp - 0x12c], 1
jmp 0x100440c2
and dword [ebp - 0x12c], 0
cmp dword [ebp - 0x12c], 0xfffd
jne 0x100440da
mov dword [ebp - 0x134], 1
jmp 0x100440e1
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0x134], eax
jge 0x100440fb
mov dword [ebp - 0x144], 1
jmp 0x10044102
and dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x144]
jg 0x10044122
cmp dword [ebp - 0xc0], 0
jne 0x10044122
and dword [ebp - 0x14c], 0
jmp 0x1004412c
mov dword [ebp - 0x14c], 1
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0xffffffff
jle 0x1004414d
mov dword [ebp - 0x15c], 1
jmp 0x10044154
and dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x15c]
sub eax, 0x56a2
push 4
pop ecx
imul ecx, ecx, 0
imul eax, dword [ebp + ecx - 0x180]
push 1
lea ecx, [ebp - 0x208]
call fcn.100147ff
cmp dword [eax], 1
jb 0x1004418b
mov dword [ebp - 0x164], 1
jmp 0x10044192
and dword [ebp - 0x164], 0
push 0
lea ecx, [ebp - 0x208]
call fcn.100147ff
mov ecx, dword [ebp - 0x164]
cmp ecx, dword [eax]
jne 0x100441b5
mov dword [ebp - 0x178], 1
jmp 0x100441bc
and dword [ebp - 0x178], 0
push 1
lea ecx, [ebp - 0x208]
call fcn.100147ff
mov ecx, dword [ebp - 0x178]
imul ecx, dword [eax]
mov dword [ebp - 0x188], ecx
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x188]
mov dword [ebp + eax - 0x180], ecx
cmp dword [ebp - 0x188], 0
je 0x10044207
push 5
pop eax
test eax, eax
je 0x10044207
mov dword [ebp - 0x190], 1
jmp 0x1004420e
and dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x190]
neg eax
mov dword [ebp - 0x1dc], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x208]
call fcn.100147e3
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x5c]
mov dword [eax], 0
jmp 0x1004424d
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x5c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x5c]
cmp dword [eax], 3
jge 0x1004426d
mov eax, dword [ebp - 0x5c]
push dword [eax]
mov ecx, dword [ebp - 0x1ec]
call fcn.100147ff
mov dword [eax], 0xc69aed23
jmp 0x10044242
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret