Function at 0x417740
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
push 0
lea eax, [esp + 0x5c]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov ecx, dword [esp + 0x60]
sub ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x64]
sub esi, dword [esp + 0x5c]
mov eax, 0x66666667
imul ecx
mov dword [esp + 0x4c], ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x66666667
imul esi
sar edx, 3
mov dword [esp + 0x2c], esi
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [esp + 0x18], esi
imul esi, ecx
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0042ab3a
add esp, 4
mov edi, eax
mov dword [esp + 0x1c], edi
test esi, esi
jle 0x4177d9
xor eax, eax
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov ecx, esi
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x5c]
mov ecx, dword [eax + 4]
mov dword [eax + 0x1c], ecx
jmp 0x4177f0
mov edx, dword [esp + 0x70]
mov ecx, dword [edx + 0x5c]
cmp dword [ecx + 0x1c], 0
je 0x417a2b
mov eax, dword [ecx + 0x1c]
test eax, eax
je 0x417a26
mov edx, dword [eax]
mov dword [ecx + 0x1c], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
test eax, eax
je 0x417a2b
mov eax, dword [eax + 8]
imul dword [0x47b368]
push 0
push 0x7fffffff
mov ecx, edx
push ecx
push eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
call fcn.00452b60
mov edi, eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x34], edx
mov eax, 0x3fffffff
cdq
mov esi, eax
xor esi, edx
sub esi, edx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jle 0x41786a
test edi, edi
jge 0x417869
dec edi
jmp 0x41786a
inc edi
sub edi, dword [esp + 0x58]
mov eax, 0x66666667
add edi, dword [0x47eab8]
push 0
imul edi
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0xc]
sar edx, 3
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
imul dword [0x47b36c]
mov ecx, edx
push 0x7fffffff
push ecx
push eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
call fcn.00452b60
mov edi, eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x34], edx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jle 0x4178c7
test edi, edi
jge 0x4178c6
dec edi
jmp 0x4178c7
inc edi
sub edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x44]
add edi, dword [0x47eabc]
mov eax, 0x66666667
imul edi
mov eax, dword [esp + 0x40]
push 0
sar edx, 3
push 0x7fffffff
mov edi, edx
push ecx
shr edi, 0x1f
push eax
add edi, edx
call fcn.00452b60
mov dword [esp + 0x34], ebx
mov ebx, eax
mov dword [esp + 0x34], edx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jle 0x417915
test ebx, ebx
jge 0x417914
dec ebx
jmp 0x417915
inc ebx
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x10]
sub edx, dword [esp + 0x58]
mov eax, dword [0x47eab8]
add edx, ebx
lea ecx, [edx + eax - 1]
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x3c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
push 0
add eax, edx
push 0x7fffffff
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
push ecx
push eax
call fcn.00452b60
mov dword [esp + 0x34], ebx
mov ebx, eax
mov dword [esp + 0x34], edx
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jle 0x417973
test ebx, ebx
jge 0x417972
dec ebx
jmp 0x417973
inc ebx
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x14]
sub edx, dword [esp + 0x5c]
mov eax, dword [0x47eabc]
add edx, ebx
lea ecx, [edx + eax - 1]
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ebp, ecx
jl 0x4179a7
lea ebp, [ecx - 1]
jmp 0x4179ad
test ebp, ebp
jge 0x4179ad
xor ebp, ebp
mov edx, dword [esp + 0x18]
cmp edi, edx
jl 0x4179ba
lea edi, [edx - 1]
jmp 0x4179c0
test edi, edi
jge 0x4179c0
xor edi, edi
mov eax, dword [esp + 0x50]
cmp eax, ecx
jl 0x4179cd
lea eax, [ecx - 1]
jmp 0x4179d3
test eax, eax
jge 0x4179d7
xor eax, eax
mov dword [esp + 0x50], eax
cmp esi, edx
jl 0x4179e0
lea esi, [edx - 1]
jmp 0x4179e6
test esi, esi
jge 0x4179e6
xor esi, esi
cmp ebp, eax
jg 0x4177f0
mov ebx, ecx
cmp edi, esi
jg 0x417a1a
mov eax, dword [esp + 0x1c]
mov ecx, edi
imul ecx, ebx
add ecx, ebp
lea ecx, [eax + ecx*2]
mov eax, esi
sub eax, edi
lea edx, [ebx + ebx]
inc eax
lea ebx, [ebx]
inc word [ecx]
add ecx, edx
sub eax, 1
jne 0x417a10
inc ebp
cmp ebp, dword [esp + 0x50]
jle 0x4179f0
jmp 0x4177f0
call fcn.0042adb3
cmp dword [esp + 0x18], 0
mov dword [esp + 0x24], 0
jle 0x417b33
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
jmp 0x417a50
cmp dword [esp + 0x14], 0
mov dword [esp + 0x20], 0
jle 0x417b16
mov edx, dword [esp + 0x28]
mov dword [esp + 0x70], edx
jmp 0x417a70
mov eax, dword [esp + 0x70]
cmp word [eax], 0
jg 0x417afe
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x18]
mov ecx, 0xffff8000
mov word [edx], cx
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], eax
lea esp, [esp]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
cmp word [edi], 0
jle 0x417add
mov eax, esi
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
mov eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jg 0x417ac4
mov ecx, eax
mov edx, dword [esp + 0x70]
movsx eax, word [edx]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jge 0x417add
mov eax, dword [esp + 0x70]
neg ecx
mov word [eax], cx
add edi, 2
dec esi
sub ebx, 1
jne 0x417aa8
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
add eax, eax
add edi, eax
dec ebp
sub dword [esp + 0x30], 1
mov dword [esp + 0x38], edi
jne 0x417aa0
mov eax, dword [esp + 0x20]
add dword [esp + 0x70], 2
inc eax
cmp eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
jl 0x417a70
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
add ecx, ecx
add dword [esp + 0x28], ecx
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
jl 0x417a50
mov eax, dword [esp + 0x4c]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2c]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x18], 0
mov dword [esp + 0x28], 0x7fff
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], 0
jle 0x417c73
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ecx
lea ebx, [ebx]
xor ebx, ebx
cmp dword [esp + 0x14], ebx
jle 0x417c52
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
neg edi
xor esi, esi
mov dword [esp + 0x24], edx
lea esp, [esp]
mov eax, dword [esp + 0x24]
movzx ebp, word [eax]
mov eax, dword [esp + 0x28]
cmp bp, ax
jge 0x417be1
mov ecx, dword [esp + 0x70]
movzx edx, bp
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], edx
jmp 0x417c3b
jne 0x417c41
mov eax, dword [esp + 0x40]
add eax, esi
cdq
mov ecx, eax
mov eax, dword [esp + 0x2c]
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
mov dword [esp + 0x4c], ecx
jg 0x417c05
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x40]
lea eax, [edi + ecx]
cdq
mov ecx, eax
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x38]
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jle 0x417c26
mov eax, ecx
cmp dword [esp + 0x4c], eax
jge 0x417c41
mov edx, dword [esp + 0x70]
movzx eax, bp
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], eax
mov edi, esi
mov dword [esp + 0x30], ebx
add dword [esp + 0x24], 2
inc ebx
dec esi
cmp ebx, dword [esp + 0x14]
jl 0x417bc0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x14]
dec dword [esp + 0x2c]
add ecx, ecx
add dword [esp + 0x20], ecx
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x70], eax
jl 0x417ba0
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0042ab45
mov eax, dword [esp + 0x34]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x5c]
lea ecx, [eax + edx*4 + 0xa]
mov eax, dword [esp + 0x78]
add esp, 4
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
pop edi
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x58]
pop esi
lea edx, [ecx + edx*4 + 0xa]
pop ebp
mov dword [eax + 4], edx
pop ebx
add esp, 0x5c
ret 8