Function at 0x100187e8
Capabilities:
Identify system language via api
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10079ae5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x208
push ebx
push esi
push edi
push 2
pop esi
mov dword [esp + 0x48], ecx
xor ebx, ebx
mov dword [esp + 0x20], 0x49fe387
lea ecx, [esp + 0x148]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], 0xfffffffd
push esi
mov dword [esp + 0x90], edx
call fcn.100159d0
xor edi, edi
mov dword [esp + 0x21c], ebx
inc edi
lea ecx, [esp + 0xe8]
mov dword [esp + 0x20], edi
push esi
call fcn.100159d0
mov dword [esp + 0xc], ebx
jmp 0x10018871
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x148]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001885e
mov dword [esp + 0xc], ebx
jmp 0x10018893
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xe8]
mov dword [eax + ecx*4], 0x75158018
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001887d
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0xe8]
dec dword [eax]
call fcn.10015a52
or dword [esp + 0x21c], 0xffffffff
lea ecx, [esp + 0x148]
call fcn.10015a52
mov dword [esp + 0xc], 8
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100188dd
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov dword [esp + 0xc], ebx
jmp 0x10018928
mov dword [esp + 0x10], 0x22124f84
mov dword [esp + 0x20], 0x9ac54c97
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x10], ebx
jmp 0x1001891d
mov dword [esp + 0x20], 0xa9b64fda
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff2
jge 0x10018905
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffff
jg 0x100188e3
push 3
lea ecx, [esp + 0x11c]
call fcn.100159d0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001896b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x40], 0xfffffff8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001895b
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x795010f7
mov eax, dword [esp + 0xc]
setg cl
xor edx, edx
cmp ecx, 0xfffffffd
setle dl
sub eax, edx
je 0x10018a29
mov dword [esp + 0x10], 5
mov dword [esp + 0x30], 0x498d20b5
mov dword [esp + 0xc], ebx
jmp 0x100189e5
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x40]
mov dword [esp + 0x10], eax
mov dword [esp + 0x10], ebx
jmp 0x100189db
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100189d7
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x100189c3
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jle 0x100189b1
mov dword [esp + 0xc], ebx
jmp 0x10018a1d
mov dword [esp + 0x20], 0xd8ff8cd3
mov dword [esp + 0x20], 0x177c
mov dword [esp + 0x30], 0xa1ee3199
mov eax, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x38
je 0x100189f1
jmp 0x10018b37
mov dword [esp + 0x2c], 0xd7d5
mov dword [esp + 0x44], 0x59a67e99
mov dword [esp + 0x24], 0xf6bb026e
mov dword [esp + 0x20], 0xfffffff6
mov dword [esp + 0x20], 0xc5df97f
mov dword [esp + 0x3c], 0xffea059e
mov dword [esp + 0x28], 0xaa6f69a7
mov dword [esp + 0x3c], esi
mov dword [esp + 0x10], ebx
jmp 0x10018a7e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x200], 0xfffffffc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x10018a6b
mov dword [esp + 0xc], 0x10
jmp 0x10018ad2
mov dword [esp + 0x18], esi
cmp dword [esp + 0x18], 0x5f9b
jg 0x10018aa7
cmp dword [esp + 0x40], ebx
je 0x10018aa7
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], 0x46c64e71
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
cmp eax, edx
setle cl
mov dword [esp + 0x40], ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x3b
jg 0x10018a8f
cmp dword [esp + 0xc], ebx
je 0x10018b11
cmp dword [esp + 0x44], ebx
jne 0x10018b11
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
imul eax, dword [esp + 0x24]
sub eax, 0x4ef5d9ce
je 0x10018b31
mov eax, ebx
cmp dword [esp + 0x30], ebx
je 0x10018b33
mov eax, edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov dword [esp + 0xc], 0x7df2f4a8
mov dword [esp + 0x10], ebx
jmp 0x10018b63
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x118]
mov dword [eax + ecx*4], 0xff0ea75c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10018b4d
mov dword [esp + 0xc], esi
cmp dword [esp + 0xc], ebx
jl 0x10018be9
mov dword [esp + 0x10], ebx
jmp 0x10018b8d
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x94], 0x6801fc3e
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10018b7a
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018ba8
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x118]
cmp dword [eax + ecx*4], ebx
jne 0x10018be9
mov dword [esp + 0x98], esi
cmp dword [esp + 0x98], ebx
jl 0x10018be3
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018bda
push ebx
call dword [sym.imp.KERNEL32.dll_HeapDestroy]
dec dword [esp + 0x98]
jns 0x10018bc8
dec dword [esp + 0xc]
jns 0x10018b74
lea ecx, [esp + 0x118]
call fcn.10015a52
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x24], 0x6a3735b2
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x1c], 0x7b051af7
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], 0x6d0c11e0
mov dword [esp + 0x20], 0xc3b7c39c
mov dword [esp + 0x20], 0x2d683a7e
mov dword [esp + 0x20], 0x9a488d5
mov dword [esp + 0x20], 0x4186e145
mov dword [esp + 0x20], 0xba1dd793
mov dword [esp + 0x20], 0x2b4cf22a
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], 0xb56bf5e
mov dword [esp + 0xc], ebx
jmp 0x10018c7e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1d8], 0xc23782ec
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10018c6b
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], ebx
je 0x10018ca8
mov eax, dword [esp + 0x18]
mov ecx, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
dec dword [esp + 0x18]
test eax, eax
jne 0x10018caa
mov ecx, ebx
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x10]
imul eax, ecx, 0xfffffff9
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
imul ecx, dword [esp + 0x2c], 0xff63
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x24], ebx
je 0x10018d07
mov eax, dword [esp + 0x28]
mov ecx, edi
dec dword [esp + 0x28]
test eax, eax
je 0x10018d09
mov ecx, ebx
mov eax, dword [esp + 0x10]
imul eax, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], 0xd5e48d32
mov dword [esp + 0x20], 0x3c8fc558
mov dword [esp + 0x10], 0x1a
jmp 0x10018d47
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018d43
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff1
jge 0x10018d2e
push dword [esp + 0x48]
movdqa xmm0, xmmword [0x10007c60]
lea eax, [esp + 0x1b0]
push eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0x58], ebx
push eax
push ebx
lea ecx, [esp + 0x60]
mov dword [esp + 0x64], ebx
movdqu xmmword [esp + 0x1ac], xmm0
mov dword [esp + 0x68], ebx
call fcn.1001709d
mov dword [esp + 0x21c], edi
lea ecx, [esp + 0x100]
mov dword [esp + 0x24], edi
push 3
call fcn.100159d0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], 0x7b400765
mov dword [esp + 0xc], ebx
jmp 0x10018dca
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], 0x2891ba8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10018db4
mov dword [esp + 0xc], ebx
jmp 0x10018dea
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1f0], 0xfffffff7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x10018dd7
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 8]
imul eax, dword [edx + 0xc]
sub eax, esi
sub eax, dword [edx + 0xc]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0x17f
jne 0x10018e1c
mov ecx, ebx
cmp dword [esp + 0x24], ebx
je 0x10018e1e
mov ecx, edi
mov eax, dword [esp + 0x100]
push 0
mov dword [eax + 8], ecx
xor eax, eax
cmp ecx, 0xf2f3
setg al
imul eax, dword [edx + 0xc]
cmp eax, 0xbd3e018e
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, dword [edx + 0xc]
mov edx, dword [edx + 0xc]
setg cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
imul eax, edx, 0x7329
inc ecx
neg ecx
cmp eax, ecx
mov eax, dword [esp + 0x54]
pop ecx
setge cl
imul ecx, edx
sub ecx, dword [eax]
mov eax, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, 0xe10d32de
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp dword [esp + 0x3c], eax
sete cl
mov dword [esp + 0x1f8], ecx
lea ecx, [esp + 0x100]
call fcn.10015a52
or dword [esp + 0x21c], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.10015a52
push 4
lea ecx, [esp + 0xbc]
call fcn.100159d0
push 2
pop esi
mov dword [esp + 0x21c], esi
lea ecx, [esp + 0x16c]
mov dword [esp + 0x10], edi
push 3
call fcn.100159d0
mov dword [esp + 0x20], 0xfcfbce00
mov dword [esp + 0x10], ebx
jmp 0x10018f05
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x16c]
mov dword [eax + ecx*4], 0x4ebb0cb8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10018eef
mov dword [esp + 0x10], ebx
jmp 0x10018f79
mov dword [esp + 0xc], 0xcdf98a59
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018f2b
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [esp + 0xc], ebx
jmp 0x10018f6e
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018f58
push ebx
push 0x15c
push 0x53
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018f6a
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffffb
jne 0x10018f31
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x11
jl 0x10018f12
mov dword [esp + 0x10], ebx
jmp 0x10018fe5
mov dword [esp + 0x18], 0xc79e672c
mov dword [esp + 0xc], ebx
jmp 0x10018fa7
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x88], 0xfffffffb
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10018f94
mov dword [esp + 0x18], esi
cmp dword [esp + 0x18], ebx
jl 0x10018fe1
mov dword [esp + 0x20], 0x40ed
mov dword [esp + 0x20], 0xfffffffb
mov dword [esp + 0x20], 0x9cf13e1
mov dword [esp + 0x1c], 0x92eda8ed
inc dword [esp + 0x1c]
dec dword [esp + 0x18]
jns 0x10018fb7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x10018f86
lea ecx, [esp + 0x16c]
call fcn.10015a52
mov dword [esp + 0x38], 0xfffffff9
lea ecx, [esp + 0xd0]
mov dword [esp + 0xc], 0x647dc4b4
push edi
call fcn.100159d0
mov dword [esp + 0x1c], 0xfffffffb
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
jmp 0x10019036
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x4c], 0x2733582f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019026
mov dword [esp + 0x10], ebx
jmp 0x10019058
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xd0]
mov dword [eax + ecx*4], 0xf5452fa8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019042
mov esi, edi
cmp dword [esp + 0xc], ebx
jne 0x10019068
mov esi, ebx
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + 0xc]
cmp eax, 0xfffffff6
setg cl
xor eax, eax
test ecx, ecx
sete al
imul eax, eax, 0x7af2
cmp eax, dword [esp + 0xc]
je 0x10019093
mov edx, ebx
cmp dword [esp + 0xc], ebx
je 0x10019095
mov edx, edi
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp eax, edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xd0]
sete cl
mov dword [eax], ecx
cmp ecx, 0xfffffff9
jle 0x100190ba
mov ecx, edi
cmp dword [esp + 0x4c], ebx
jne 0x100190bc
mov ecx, ebx
mov eax, dword [esp + 0xc]
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xc]
setne dl
xor ecx, ecx
add edx, 0xffff
cmp edx, eax
setge cl
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov eax, dword [esp + 0x1c]
cmp esi, eax
setne cl
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], ebx
jmp 0x10019112
mov dword [esp + 0x20], 0xe80a7c6d
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001910a
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov eax, dword [esp + 0x20]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x2e
jge 0x100190f1
lea ecx, [esp + 0xd0]
call fcn.10015a52
mov dword [esp + 0x20], ebx
or esi, 0xffffffff
mov dword [esp + 0xc], 3
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], 0xffffffe5
jmp 0x100191a0
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], edi
imul eax, dword [esp + 0x18], 0x7412df3e
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
neg eax
sbb eax, eax
inc eax
add eax, dword [esp + 0x10]
cmp edi, eax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffe4
jge 0x1001914a
push dword [esp + 0x88]
movdqa xmm0, xmmword [0x10007c70]
lea eax, [esp + 0x1c0]
push eax
lea eax, [esp + 0x1b4]
mov dword [esp + 0x70], ebx
push eax
push ebx
lea ecx, [esp + 0x78]
mov dword [esp + 0x7c], ebx
movdqu xmmword [esp + 0x1bc], xmm0
mov dword [esp + 0x80], ebx
call fcn.1001709d
mov byte [esp + 0x21c], 3
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], 0xfffffffb
mov dword [esp + 0x18], ebx
jmp 0x10019219
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x80], 0xf54c
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x10019206
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov dword [esp + 0x10], ebx
jmp 0x10019240
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x80], 0xd23b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001922d
push 4
lea ecx, [esp + 0xf8]
call fcn.100159d0
mov byte [esp + 0x21c], 4
mov dword [esp + 0x18], 0xfffffff7
mov dword [esp + 0x1c], 0x44d0
mov dword [esp + 0x10], ebx
jmp 0x10019285
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1bc], 0xfffffffb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10019272
mov dword [esp + 0x10], ebx
jmp 0x100192a1
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x84], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10019292
mov dword [esp + 0x18], 2
cmp dword [esp + 0x18], ebx
jl 0x100192c8
mov eax, dword [esp + 0x18]
cmp dword [esp + eax*4 + 0x1bc], ebx
jne 0x100192c8
dec dword [esp + 0x18]
jns 0x100192b5
dec dword [esp + 0x1c]
lea ecx, [esp + 0x180]
mov dword [esp + 0x20], 0x7df39f3c
push 3
call fcn.100159d0
mov dword [esp + 0x1c], 0xffff
mov dword [esp + 0x18], ebx
jmp 0x10019306
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x180]
mov dword [eax + ecx*4], 0xae9714a
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x100192f0
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10019327
push ebx
push ebx
push 0xa4a
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
inc dword [esp + 0x1c]
lea ecx, [esp + 0x180]
call fcn.10015a52
push 4
mov dword [esp + 0x10], ebx
pop edx
jmp 0x10019356
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xb8]
mov dword [eax + ecx*4], 0x81d2
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10019340
mov dword [esp + 0xc], ebx
jmp 0x10019375
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x90], 0x2db80ebb
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10019362
mov dword [esp + 0xc], ebx
jmp 0x10019394
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1e0], 0xdb8846b5
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10019381
mov dword [esp + 0xc], 5
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], 0xbaf9eb11
mov dword [esp + 0x18], ebx
jmp 0x100193c7
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x1c8], 0x158f8766
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x100193b4
mov dword [esp + 0xc], 0xfffffffd
cmp dword [esp + 0xc], 0xffffffef
jg 0x1001951c
push edi
lea ecx, [esp + 0x60]
call fcn.100159d0
mov dword [esp + 0x10], 0xd76d
mov dword [esp + 0x1c], 0x7c4177fd
mov dword [esp + 0x20], 0x18da91e5
mov dword [esp + 0x18], ebx
jmp 0x10019417
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x5c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x10019408
mov eax, dword [esp + 0xc]
mov ecx, 0xa9413e45
cmp ecx, eax
mov eax, dword [esp + 0xc]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
cmp ecx, 0x1982
je 0x10019448
mov eax, dword [esp + 0x5c]
cmp dword [eax], ebx
mov eax, ebx
jne 0x1001944a
mov eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
neg ecx
mov edx, dword [esp + 0x5c]
sbb ecx, ecx
neg ecx
add eax, ecx
xor ecx, ecx
cmp eax, dword [edx]
setne cl
sub ecx, 0x2b83
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xfffa
jne 0x1001948c
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
mov eax, dword [edx]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
imul edx, dword [eax]
mov eax, dword [esp + 0xc]
cmp edx, eax
mov eax, 0x975a1448
sete cl
cmp eax, ecx
sbb eax, eax
inc eax
imul eax, dword [esp + 0xc]
test eax, eax
je 0x100194f0
mov ecx, edi
cmp dword [esp + 0xc], ebx
jne 0x100194f2
mov ecx, ebx
xor eax, eax
cmp ecx, 0x32ca
lea ecx, [esp + 0x5c]
sete al
mov dword [esp + 0x20], eax
call fcn.10015a52
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffef
jle 0x100193e0
push 4
pop edx
mov dword [esp + 0xc], ebx
jmp 0x10019538
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xf4]
mov dword [eax + ecx*4], 7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10019522
mov dword [esp + 0x10], 0x1a049fe3
mov dword [esp + 0x2c], 0x6b5b3847
mov dword [esp + 0x1c], 0xd2ae857b
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001960e
mov dword [esp + 0x24], 0x8d9dcee3
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
cmp dword [esp + 0x24], esi
mov eax, dword [esp + 0x10]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [esp + 0x10]
setge dl
xor ecx, ecx
cmp ecx, eax
sbb ecx, ecx
xor eax, eax
neg ecx
imul ecx, dword [esp + 0x28]
cmp edx, ecx
setle al
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x10]
je 0x100195af
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov ecx, 0x80c6548a
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x56411d7f
setg cl
inc ecx
neg ecx
sbb ecx, ecx
add ecx, 0xffff00b5
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0xd732
test eax, eax
jne 0x100195f2
mov eax, ebx
cmp dword [esp + 0x2c], ebx
je 0x100195f4
mov eax, edi
mov dword [esp + 0x1c], eax
xor ecx, ecx
mov eax, dword [esp + 0x1c]
cmp eax, 0x9495
setl cl
mov dword [esp + 0x20], ecx
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffffd
jle 0x10019563
mov edx, dword [esp + 0xb8]
cmp dword [edx + 0xc], ebx
jne 0x10019663
mov eax, dword [esp + 0x68]
mov dword [eax + 0xc], edi
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
xor edx, edx
add eax, ecx
cmp eax, 0x37fc
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x38]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0xb8]
setle cl
cmp dword [eax + 4], ecx
mov ecx, ebx
je 0x10019665
mov ecx, edi
mov eax, dword [esp + 0x38]
imul eax, ecx
mov ecx, 0xc4eb0a11
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, 0x6709e149
jle 0x10019685
mov eax, dword [esp + 0x90]
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0xc4]
mov eax, dword [esp + 0xf4]
push 4
mov dword [eax], 9
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
call fcn.100159d0
push 4
lea ecx, [esp + 0xa4]
mov byte [esp + 0x220], 5
call fcn.100159d0
push 3
lea ecx, [esp + 0xb0]
mov byte [esp + 0x220], 6
call fcn.100159d0
mov byte [esp + 0x21c], 7
lea ecx, [esp + 0x160]
mov dword [esp + 0x30], 0x1d319d7f
push 3
call fcn.100159d0
mov byte [esp + 0x21c], 8
mov dword [esp + 0x20], esi
push 4
mov dword [esp + 0x24], 0xff73
mov dword [esp + 0x10], ebx
pop edx
jmp 0x10019724
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc4]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10019712
mov dword [esp + 0xc], ebx
jmp 0x10019742
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xa0]
mov dword [eax + ecx*4], esi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10019730
push 3
mov dword [esp + 0x10], ebx
pop edx
jmp 0x10019767
cmp dword [esp + 0xc], edx
jl 0x10019751