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

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0xa4
mov ecx, dword [0x48b11c]
cmp ecx, 0xfffffffe
push ebx
push esi
push edi
je 0x41540e
mov eax, dword [0x48b114]
test eax, eax
jne 0x4153f8
cmp byte [0x482c91], al
jne 0x4153f8
cmp dword [0x48b120], 0xe
jge 0x41540e
cmp ecx, 0xffffffff
je 0x415ebb
test ecx, ecx
je 0x415645
cmp ecx, 1
je 0x415415
xor eax, eax
jmp 0x415ec9
test eax, eax
jne 0x415ec6
push 0x488c7c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [0x488c74]
mov eax, dword [0x488c78]
and dword [ebp + 0x60], 0
add edi, 5
mov esi, edi
imul esi, esi, 0x1c
mov dword [ebp + 0x6c], eax
mov eax, esi
add eax, 3
and eax, 0xfffffffc
mov dword [ebp + 0x74], edi
call fcn.00470240
mov ebx, esp
push esi
push 0
push ebx
call sub.NSCRT.dll_memset
xor eax, eax
inc eax
mov dword [ebx + 4], eax
mov dword [ebx], eax
lea eax, [ebx + 8]
push eax
call fcn.00408da3
lea eax, [ebx + 0x24]
push eax
call fcn.00408dfa
mov eax, dword [0x482ca4]
mov dword [ebx + 0x1c], eax
lea eax, [ebx + 0x40]
push eax
call fcn.00408e6e
mov eax, dword [0x482cb4]
mov dword [ebx + 0x38], eax
lea eax, [ebx + 0x78]
push eax
call fcn.00408ea6
mov eax, dword [0x487328]
add esp, 0x1c
push 5
mov dword [ebx + 0x70], eax
pop eax
cmp edi, eax
mov dword [ebp + 0x70], eax
jle 0x41550d
lea eax, [ebx + 0x94]
mov dword [ebp + 0x68], eax
cmp dword [ebp + 0x6c], 0
je 0x41550d
mov esi, dword [ebp + 0x6c]
push dword [esi]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4154db
push dword [esi]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x4154db
inc eax
jmp 0x4154dd
xor eax, eax
mov ecx, dword [ebp + 0x68]
mov dword [ecx - 8], eax
mov eax, dword [ebp + 0x6c]
mov dword [ecx + 0x10], eax
lea esi, [eax + 8]
mov edi, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [eax + 0x20], 0
mov eax, dword [eax + 0x1c]
inc dword [ebp + 0x70]
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x70]
add ecx, 0x1c
cmp eax, dword [ebp + 0x74]
mov dword [ebp + 0x68], ecx
jl 0x4154b7
mov ecx, dword [0x48b118]
and dword [ebp + 0x70], 0
xor eax, eax
inc eax
shr ecx, 2
and ecx, eax
mov dword [0x48b114], eax
xor eax, eax
cmp byte [0x482c7f], al
setne al
xor ecx, eax
je 0x415621
mov eax, dword [ebp + 0x70]
imul eax, eax, 0x1c
add eax, ebx
cmp dword [eax], 0
mov dword [ebp + 0x68], eax
je 0x4155b0
cmp dword [eax + 4], 0
je 0x4155b0
and dword [ebp + 0x64], 0
cmp dword [ebp + 0x74], 0
jle 0x4155b0
lea eax, [ebx + 4]
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x70]
cmp dword [ebp + 0x64], eax
je 0x4155a1
mov eax, dword [ebp + 0x6c]
cmp dword [eax], 0
jne 0x4155a1
mov esi, eax
add esi, 4
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x68]
add esi, 8
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00408f4a
add esp, 0x20
test eax, eax
je 0x4155a1
mov ecx, dword [ebp + 0x6c]
xor eax, eax
inc eax
mov dword [ecx], eax
mov dword [ebp + 0x60], eax
inc dword [ebp + 0x64]
mov eax, dword [ebp + 0x64]
add dword [ebp + 0x6c], 0x1c
cmp eax, dword [ebp + 0x74]
jl 0x41555d
mov eax, dword [ebp + 0x70]
xor edx, edx
cmp eax, edx
jne 0x4155c1
cmp dword [ebp + 0x60], edx
je 0x4155ce
mov dword [ebp + 0x60], edx
inc eax
cdq
idiv dword [ebp + 0x74]
mov dword [ebp + 0x70], edx
jmp 0x415537
cmp dword [ebx + 0x20], edx
je 0x4155da
or dword [0x48b114], 2
cmp dword [ebx + 0x3c], edx
je 0x4155e6
or dword [0x48b114], 4
cmp dword [ebx + 0x58], edx
je 0x4155f2
or dword [0x48b114], 8
cmp dword [ebx + 0x74], edx
je 0x4155fe
or dword [0x48b114], 0x10
push 5
pop ecx
cmp dword [ebp + 0x74], ecx
jle 0x415621
add ebx, 0xa4
mov eax, dword [ebx]
cmp eax, edx
je 0x415621
mov esi, dword [ebx - 0x14]
inc ecx
add ebx, 0x1c
cmp ecx, dword [ebp + 0x74]
mov dword [eax + 0x20], esi
jl 0x41560c
push 0x488c7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x48b124]
mov dword [0x48b138], eax
mov eax, dword [0x48b120]
mov dword [0x48b134], eax
jmp 0x415ec6
test eax, eax
je 0x415ec6
push dword [0x496654]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push dword [0x496560]
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0x64], eax
call esi
push dword [0x497280]
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0x68], eax
call esi
neg eax
sbb eax, eax
neg eax
push 0x488c7c
mov dword [ebp + 0x60], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp + 0x2c]
push eax
call fcn.00408dfa
lea eax, [ebp + 0x1c]
push eax
call fcn.00408e6e
lea eax, [ebp + 0xc]
push eax
call fcn.00408ea6
lea eax, [ebp + 0x50]
push eax
call fcn.00408da3
mov eax, dword [0x48b120]
sub eax, dword [0x48b134]
lea esi, [ebp + 0x50]
lea edi, [ebp + 0x3c]
movsd dword es:[edi], dword [esi]
push eax
mov eax, dword [0x48b124]
sub eax, dword [0x48b138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp + 0x50]
push eax
movsd dword es:[edi], dword [esi]
call fcn.00408f32
mov eax, dword [0x48b118]
shr eax, 2
xor ecx, ecx
add esp, 0x1c
and eax, 1
cmp byte [0x482c7f], cl
setne cl
xor eax, ecx
je 0x4157df
mov ebx, dword [0x488c78]
lea eax, [ebp + 0x50]
push eax
call fcn.004096fc
cmp dword [ebp + 0x64], 0
pop ecx
jne 0x415741
cmp dword [0x482ca4], 0
je 0x415741
test byte [0x48b114], 2
jne 0x415741
sub esp, 0x10
mov edi, esp
lea esi, [ebp + 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x50]
push eax
movsd dword es:[edi], dword [esi]
call fcn.00408fd5
add esp, 0x14
cmp dword [ebp + 0x68], 0
jne 0x415771
cmp dword [0x482cb4], 0
je 0x415771
test byte [0x48b114], 4
jne 0x415771
sub esp, 0x10
mov edi, esp
lea esi, [ebp + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x50]
push eax
movsd dword es:[edi], dword [esi]
call fcn.00408fd5
add esp, 0x14
cmp dword [ebp + 0x60], 0
jne 0x4157db
cmp dword [0x487328], 0
je 0x4157db
test byte [0x48b114], 0x10
jne 0x4157db
sub esp, 0x10
mov edi, esp
lea esi, [ebp + 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x50]
push eax
movsd dword es:[edi], dword [esi]
call fcn.00408fd5
add esp, 0x14
jmp 0x4157db
push dword [ebx]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4157d8
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x4157d8
cmp dword [ebx + 0x20], eax
jne 0x4157d8
sub esp, 0x10
mov edi, esp
lea esi, [ebx + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x50]
push eax
movsd dword es:[edi], dword [esi]
call fcn.00408fd5
add esp, 0x14
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
jne 0x4157a3
mov esi, dword [ebp + 0x50]
mov edi, dword [ebp + 0x54]
sub esi, dword [ebp + 0x3c]
sub edi, dword [ebp + 0x40]
test byte [0x48b114], 2
mov ebx, dword [0x488c78]
je 0x415808
push edi
lea eax, [ebp + 0x2c]
push esi
push eax
call fcn.00408f32
add esp, 0xc
test byte [0x48b114], 4
je 0x41581f
push edi
lea eax, [ebp + 0x1c]
push esi
push eax
call fcn.00408f32
add esp, 0xc
test byte [0x48b114], 8
je 0x415836
push edi
lea eax, [ebp - 0xc]
push esi
push eax
call fcn.00408f32
add esp, 0xc
test byte [0x48b114], 0x10
je 0x415871
push edi
lea eax, [ebp + 0xc]
push esi
push eax
call fcn.00408f32
add esp, 0xc
jmp 0x415871
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x41586e
cmp dword [ebx + 0x20], eax
je 0x41586e
push edi
lea eax, [ebx + 8]
push esi
push eax
call fcn.00408f32
add esp, 0xc
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
jne 0x41584f
mov eax, dword [0x48b118]
shr eax, 2
xor ecx, ecx
and eax, 1
cmp byte [0x482c7f], cl
setne cl
xor eax, ecx
je 0x415d64
test byte [0x482c86], 1
je 0x415b1a
mov edi, dword [0x488c78]
mov dword [ebp + 0x6c], edi
xor esi, esi
mov edx, dword [0x48b114]
xor eax, eax
inc eax
lea ecx, [esi + 1]
shl eax, cl
mov dword [ebp + 0x4c], ecx
mov ecx, edx
and ecx, eax
not eax
and eax, edx
cmp esi, ebx
mov dword [ebp + 0x74], eax
jne 0x4158e4
cmp dword [0x482ca4], ebx
je 0x4158dd
cmp dword [ebp + 0x64], ebx
jne 0x4158dd
xor edx, edx
inc edx
jmp 0x4158df
xor edx, edx
lea ebx, [ebp + 0x2c]
jmp 0x415957
xor edx, edx
inc edx
cmp esi, edx
jne 0x4158ff
cmp dword [0x482cb4], ebx
je 0x4158f8
cmp dword [ebp + 0x68], ebx
je 0x4158fa
xor edx, edx
lea ebx, [ebp + 0x1c]
jmp 0x415957
cmp esi, 3
jne 0x415918
cmp dword [0x487328], ebx
je 0x415911
cmp dword [ebp + 0x60], ebx
je 0x415913
xor edx, edx
lea ebx, [ebp + 0xc]
jmp 0x415957
cmp edi, ebx
je 0x415a4f
push dword [edi]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x41593d
push dword [edi]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x41593d
xor edx, edx
inc edx
jmp 0x41593f
xor edx, edx
mov eax, dword [ebp + 0x6c]
mov ecx, dword [eax + 0x20]
mov esi, dword [0x48b114]
lea ebx, [eax + 8]
mov eax, dword [eax + 0x1c]
mov dword [ebp + 0x74], esi
mov dword [ebp + 0x6c], eax
test edx, edx
je 0x415a42
test ecx, ecx
je 0x415a42
mov eax, dword [0x488c78]
mov esi, ebx
lea edi, [ebp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
mov dword [ebp + 0x70], eax
movsd dword es:[edi], dword [esi]
call fcn.004096fc
mov eax, dword [ebx + 4]
mov edi, dword [ebp + 0x40]
mov esi, dword [ebp + 0x3c]
sub eax, edi
push eax
mov eax, dword [ebx]
sub eax, esi
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00408f32
add esp, 0x10
test byte [ebp + 0x74], 2
je 0x4159b8
mov eax, dword [ebx + 4]
sub eax, edi
push eax
mov eax, dword [ebx]
sub eax, esi
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.00408f32
add esp, 0xc
test byte [ebp + 0x74], 4
je 0x4159d5
mov eax, dword [ebx + 4]
sub eax, edi
push eax
mov eax, dword [ebx]
sub eax, esi
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.00408f32
add esp, 0xc
test byte [ebp + 0x74], 8
je 0x4159f2
mov eax, dword [ebx + 4]
sub eax, edi
push eax
mov eax, dword [ebx]
sub eax, esi
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.00408f32
add esp, 0xc
test byte [ebp + 0x74], 0x10
je 0x415a0f
mov eax, dword [ebx + 4]
sub eax, edi
push eax
mov eax, dword [ebx]
sub eax, esi
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.00408f32
add esp, 0xc
mov esi, dword [ebp + 0x70]
test esi, esi
je 0x415a42
lea eax, [esi + 8]
cmp eax, ebx
je 0x415a38
cmp dword [esi + 0x20], 0
je 0x415a38
mov ecx, dword [ebx + 4]
sub ecx, edi
push ecx
mov ecx, dword [ebx]
sub ecx, dword [ebp + 0x3c]
push ecx
push eax
call fcn.00408f32
add esp, 0xc
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x415a16
mov dword [ebp + 0x70], esi
mov esi, dword [ebp + 0x4c]
mov edi, dword [ebp + 0x6c]
xor ebx, ebx
jmp 0x4158ab
lea esi, [ebp + 0x50]
lea edi, [ebp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x50]
push eax
movsd dword es:[edi], dword [esi]
call fcn.004096fc
test byte [0x48b114], 2
mov edi, dword [ebp + 0x3c]
mov ebx, dword [ebp + 0x40]
pop ecx
je 0x415a8a
mov eax, dword [ebp + 0x54]
sub eax, ebx
push eax
mov eax, dword [ebp + 0x50]
sub eax, edi
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.00408f32
add esp, 0xc
test byte [0x48b114], 4
je 0x415aab
mov eax, dword [ebp + 0x54]
sub eax, ebx
push eax
mov eax, dword [ebp + 0x50]
sub eax, edi
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.00408f32
add esp, 0xc
test byte [0x48b114], 8
je 0x415acc
mov eax, dword [ebp + 0x54]
sub eax, ebx
push eax
mov eax, dword [ebp + 0x50]
sub eax, edi
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.00408f32
add esp, 0xc
test byte [0x48b114], 0x10
je 0x415aed
mov eax, dword [ebp + 0x54]
sub eax, ebx
push eax
mov eax, dword [ebp + 0x50]
sub eax, edi
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.00408f32
add esp, 0xc
mov esi, dword [0x488c78]
jmp 0x415b16
cmp dword [esi + 0x20], 0
je 0x415b13
mov eax, dword [ebp + 0x54]
sub eax, ebx
push eax
mov eax, dword [ebp + 0x50]
sub eax, edi
push eax
lea eax, [esi + 8]
push eax
call fcn.00408f32
add esp, 0xc
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x415af5
mov edi, dword [0x488c78]
mov dword [ebp + 0x6c], edi
xor esi, esi
mov edx, dword [0x48b114]
xor eax, eax
inc eax
lea ecx, [esi + 1]
shl eax, cl
mov dword [ebp + 8], ecx
mov ecx, eax
not eax
and eax, edx
and ecx, edx
test esi, esi
mov dword [ebp + 0x74], eax
jne 0x415b4f
mov eax, dword [0x482ca4]
lea edx, [ebp + 0x2c]
jmp 0x415ba7
cmp esi, 1
jne 0x415b5e
mov eax, dword [0x482cb4]
lea edx, [ebp + 0x1c]
jmp 0x415ba7
cmp esi, 3
jne 0x415b6d
mov eax, dword [0x487328]
lea edx, [ebp + 0xc]
jmp 0x415ba7
test edi, edi
je 0x415d6a
push dword [edi]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x415b90
push dword [edi]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x415b90
inc eax
jmp 0x415b92
xor eax, eax
mov edx, dword [0x48b114]
mov ecx, dword [edi + 0x20]
mov dword [ebp + 0x74], edx
lea edx, [edi + 8]
mov edi, dword [edi + 0x1c]
mov dword [ebp + 0x6c], edi
test ecx, ecx
mov dword [ebp + 0x70], edx
jne 0x415d5c
test eax, eax
je 0x415d5c
mov esi, dword [0x488c78]
mov dword [ebp + 0x4c], esi
xor eax, eax
xor ebx, ebx
inc ebx
lea ecx, [eax + 1]
mov edx, ebx
shl edx, cl
mov dword [ebp + 4], ecx
and edx, dword [ebp + 0x74]
test eax, eax
jne 0x415be4
mov ecx, dword [0x482ca4]
lea eax, [ebp + 0x2c]
jmp 0x415c43
cmp eax, ebx
jne 0x415bf3
mov ecx, dword [0x482cb4]
lea eax, [ebp + 0x1c]
jmp 0x415c43
cmp eax, 3
jne 0x415c03
mov ecx, dword [0x487328]
lea eax, [ebp + 0xc]
jmp 0x415c43
test esi, esi
je 0x415d5c
push dword [esi]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x415c27
push dword [esi]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x415c27
mov ecx, ebx
jmp 0x415c29
xor ecx, ecx
lea eax, [esi + 8]
cmp eax, dword [ebp + 0x70]
je 0x415c3b
cmp dword [esi + 0x20], 0
je 0x415c3b
mov edx, ebx
jmp 0x415c3d
xor edx, edx
mov esi, dword [esi + 0x1c]
mov dword [ebp + 0x4c], esi
test ecx, ecx
je 0x415d4e
test edx, edx
je 0x415d4e
mov esi, eax
lea edi, [ebp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp + 0x50]
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ebx, dword [0x488c78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x70]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x3c]
push eax
movsd dword es:[edi], dword [esi]
call fcn.00408fd5
mov eax, dword [ebp + 0x40]
sub eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp + 0x3c]
sub eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00408f32
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
add esp, 0x20
test byte [ebp + 0x74], 2
je 0x415cc8
mov eax, dword [ebp + 0x54]
sub eax, edi
push eax
mov eax, dword [ebp + 0x50]
sub eax, esi
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.00408f32
add esp, 0xc
test byte [ebp + 0x74], 4
je 0x415ce6
mov eax, dword [ebp + 0x54]
sub eax, edi
push eax
mov eax, dword [ebp + 0x50]
sub eax, esi
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.00408f32
add esp, 0xc
test byte [ebp + 0x74], 8
je 0x415d04
mov eax, dword [ebp + 0x54]
sub eax, edi
push eax
mov eax, dword [ebp + 0x50]
sub eax, esi
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.00408f32
add esp, 0xc
test byte [ebp + 0x74], 0x10
je 0x415d4a
mov eax, dword [ebp + 0x54]
sub eax, edi
push eax
mov eax, dword [ebp + 0x50]
sub eax, esi
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.00408f32
add esp, 0xc
jmp 0x415d4a
lea eax, [ebx + 8]
cmp eax, dword [ebp + 0x70]
je 0x415d47
cmp dword [ebx + 0x20], 0
je 0x415d47
mov ecx, dword [ebp + 0x54]
sub ecx, edi
push ecx
mov ecx, dword [ebp + 0x50]
sub ecx, esi
push ecx
push eax
call fcn.00408f32
add esp, 0xc
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
jne 0x415d24
mov eax, dword [ebp + 4]
mov esi, dword [ebp + 0x4c]
mov edi, dword [ebp + 0x6c]
jmp 0x415bc5
mov esi, dword [ebp + 8]
jmp 0x415b25
mov edx, dword [0x48b114]
xor ecx, ecx
inc ecx
test dl, 2
je 0x415d7b
cmp dword [ebp + 0x64], 0
jne 0x415d7b
push 2
pop ecx
test dl, 4
je 0x415d87
cmp dword [ebp + 0x68], 0
jne 0x415d87
inc ecx
test dl, 0x10
je 0x415d93
cmp dword [ebp + 0x60], 0
jne 0x415d93
inc ecx
mov eax, dword [0x488c78]
jmp 0x415da4
cmp dword [eax + 0x20], 0
je 0x415da1
inc ecx
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x415d9a
push ecx
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
test byte [0x48b114], 2
mov edi, dword [sym.imp.USER32.dll_DeferWindowPos]
push 0x15
mov esi, eax
pop ebx
je 0x415df0
cmp dword [ebp + 0x64], 0
jne 0x415df0
lea eax, [ebp + 0x2c]
push eax
call fcn.00408ef3
pop ecx
push ebx
xor eax, eax
push eax
push eax
push dword [0x482ca0]
push dword [0x482c9c]
push eax
push dword [0x496654]
push esi
call edi
mov esi, eax
test byte [0x48b114], 4
je 0x415e26
cmp dword [ebp + 0x68], 0
jne 0x415e26
lea eax, [ebp + 0x1c]
push eax
call fcn.00408f08
pop ecx
push ebx
xor eax, eax
push eax
push eax
push dword [0x482cb0]
push dword [0x482cac]
push eax
push dword [0x496560]
push esi
call edi
mov esi, eax
test byte [0x48b114], 0x10
je 0x415e5c
cmp dword [ebp + 0x60], 0
jne 0x415e5c
lea eax, [ebp + 0xc]
push eax
call fcn.00408f1d
pop ecx
push ebx
xor eax, eax
push eax
push eax
push dword [0x482ce4]
push dword [0x482ce0]
push eax
push dword [0x497280]
push esi
call edi
mov esi, eax
lea eax, [ebp + 0x50]
push eax
call fcn.00408ede
pop ecx
push ebx
xor eax, eax
push eax
push eax
push dword [0x482c8c]
push dword [0x482c88]
push eax
push dword [0x4924ec]
push esi
call edi
mov esi, dword [0x488c78]
jmp 0x415ea3
cmp dword [esi + 0x20], 0
je 0x415ea0
push ebx
xor ecx, ecx
push ecx
push ecx
push dword [esi + 0xc]
push dword [esi + 8]
push ecx
push dword [esi]
push eax
call edi
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x415e89
push eax
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
push 0x488c7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x415ec6
test eax, eax
je 0x415ec6
and dword [0x48b114], 0
xor eax, eax
inc eax
lea esp, [ebp - 0x38]
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret
cmp dword [0x48b114], 0
mov eax, dword [esp + 4]
mov dword [0x48b124], eax
mov eax, dword [esp + 8]
mov dword [0x48b120], eax
mov eax, dword [esp + 0xc]
mov dword [0x48b11c], eax
mov eax, dword [esp + 0x10]
mov dword [0x48b118], eax
jne 0x417112
call fcn.00416917
test eax, eax
jne 0x417117
call fcn.00416c6f
test eax, eax
jne 0x417117
call fcn.00416e37
test eax, eax
jne 0x417117
call fcn.00416795
test eax, eax
jne 0x417117
cmp dword [0x48b114], eax
jne 0x417112
push edi
call fcn.00414e57
mov edi, eax
call fcn.00415212
add edi, eax
call fcn.00416621
add edi, eax
call fcn.00416495
add edi, eax
call fcn.00416543
add edi, eax
call fcn.004163e7
add edi, eax
call fcn.00416232
add edi, eax
call fcn.0041616e
add edi, eax
pop edi
jne 0x417117
cmp dword [0x48b114], 0
jne 0x417112
call fcn.00415ed4
test eax, eax
jne 0x417117
jmp 0x4153c5
ret