Function at 0x401720
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov esi, dword [ebp + 0xc]
cmp esi, 0x100
je 0x401980
ja 0x401870
cmp esi, 7
je 0x401a00
jbe 0x401793
cmp esi, 0x4e
je 0x401a30
cmp esi, 0x7b
je 0x401b31
cmp esi, 0x20
je 0x401bd0
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [0x415614]
sub esp, 0x10
mov ebx, eax
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp esi, 2
je 0x401c50
cmp esi, 5
je 0x401ce0
cmp esi, 1
jne 0x401764
mov dword [esp], 0x248
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [0x414e20], eax
test eax, eax
je 0x401900
add eax, 0x40
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], eax
mov eax, dword [0x414e40]
mov dword [esp + 4], 0xa0
mov dword [esp], eax
call dword [0x4156c0]
mov ecx, dword [ebp + 8]
mov eax, dword [0x414e20]
sub esp, 0x10
mov dword [eax], ecx
mov ebx, dword [0x414e20]
mov dword [eax + 0x10], 0xfa
lea eax, [ebx + 0x40]
mov dword [esp], ecx
mov dword [esp + 8], 0x7d2
mov dword [esp + 4], eax
call dbg.CreateTreeView
mov dword [ebx + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x7d3
mov ebx, dword [0x414e20]
mov dword [esp], eax
call dbg.CreateListView
mov dword [ebx + 8], eax
mov eax, dword [0x414e20]
xor ebx, ebx
mov dword [eax + 0xc], 1
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [0x415718]
mov eax, dword [0x414e20]
sub esp, 4
mov eax, dword [eax + 4]
call dbg.get_last_key
jmp 0x401787
cmp esi, 0x201
je 0x401d10
ja 0x4018e0
xor ebx, ebx
cmp esi, 0x113
je 0x401787
cmp esi, 0x200
je 0x401d70
cmp esi, 0x111
jne 0x401764
movzx eax, word [ebp + 0x10]
cmp eax, 0x8008
je 0x4020a0
cmp eax, 0x8067
je 0x401ea0
cmp eax, 0x8002
jne 0x401764
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [esp], eax
call dword [0x415628]
sub esp, 4
jmp 0x401787
cmp esi, 0x204
je 0x40191c
cmp esi, 0x215
jne 0x401910
call dword [0x41564c]
cmp eax, dword [ebp + 8]
je 0x402080
nop
xor ebx, ebx
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp esi, 0x202
jne 0x401764
call dword [0x41564c]
cmp eax, dword [ebp + 8]
jne 0x401900
mov edx, dword [section..bss]
mov eax, dword [ebp + 8]
xor ebx, ebx
call dbg.draw_splitbar
lea eax, [ebp - 0x48]
mov dword [section..bss], 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [0x415650]
movzx edx, word [ebp + 0x14]
mov eax, dword [0x414e20]
sub esp, 8
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
call dbg.ResizeWnd
call dword [0x4156e8]
jmp 0x401787
cmp dword [ebp + 0x10], 0x1b
jne 0x401900
call dword [0x41564c]
mov ebx, eax
cmp eax, dword [ebp + 8]
jne 0x401900
mov edx, dword [section..bss]
call dbg.draw_splitbar
lea eax, [ebp - 0x48]
mov dword [esp], ebx
xor ebx, ebx
mov dword [esp + 4], eax
call dword [0x415650]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
sub esp, 8
call dbg.ResizeWnd
mov dword [section..bss], 0xffffffff
call dword [0x4156e8]
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
call dword [0x4156b0]
sub esp, 8
mov dword [esp], eax
call dword [0x41570c]
sub esp, 4
jmp 0x401787
mov eax, dword [0x414e20]
test eax, eax
je 0x401900
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
test ecx, ecx
cmove edx, dword [eax + 4]
xor ebx, ebx
mov dword [esp], edx
call dword [0x415718]
sub esp, 4
jmp 0x401787
cmp dword [ebp + 0x10], 0x7d2
je 0x401e10
cmp dword [ebp + 0x10], 0x7d3
jne 0x401900
mov edx, dword [0x414e20]
test edx, edx
je 0x401900
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 8]
cmp eax, 0xffffff94
je 0x402342
jbe 0x40217a
cmp eax, 0xfffffff9
je 0x40238d
jbe 0x40214a
cmp eax, 0xfffffffc
je 0x402309
cmp eax, 0xfffffffd
jne 0x401900
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0xc], 0xffffffff
je 0x401900
lea esi, [ebp - 0x48]
mov dword [ebp - 0x3c], 0
mov ebx, dword [0x4156fc]
mov dword [ebp - 0x38], 3
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x102b
mov eax, dword [edx + 8]
mov dword [esp], eax
call ebx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x3c], 3
sub esp, 0x10
mov dword [ebp - 0x38], 3
mov dword [esp + 0xc], esi
mov eax, dword [eax + 0xc]
mov dword [esp + 4], 0x102b
mov dword [esp + 8], eax
mov eax, dword [0x414e20]
mov eax, dword [eax + 8]
mov dword [esp], eax
call ebx
sub esp, 0x10
mov eax, dword [0x414e48]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x8010
mov dword [esp + 4], 0x111
mov dword [esp], eax
call ebx
xor ebx, ebx
sub esp, 0x10
jmp 0x401787
mov ebx, dword [ebp + 0x14]
mov eax, dword [0x414e20]
movsx esi, word [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
sar ebx, 0x10
cmp dword [eax + 4], ecx
je 0x401fd0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x100c
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [0x4156fc]
xor edx, edx
sub esp, 0x10
cmp eax, 0xffffffff
setne dl
add edx, 2
mov eax, dword [0x414c40]
mov edi, dword [0x414e48]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [0x41567c]
sub esp, 8
mov dword [esp + 0xc], ebx
xor ebx, ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x415734]
sub esp, 0x1c
jmp 0x401787
cmp word [ebp + 0x14], 1
jne 0x401764
lea ebx, [ebp - 0x48]
mov dword [esp], ebx
call dword [0x415654]
mov eax, dword [ebp + 8]
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [0x4156f0]
mov eax, dword [0x414e20]
mov edx, dword [ebp - 0x48]
sub esp, 8
mov eax, dword [eax + 0x10]
lea ecx, [eax - 2]
cmp edx, ecx
jl 0x401764
add eax, 2
cmp edx, eax
jg 0x401764
mov dword [esp + 4], 0x7f84
mov ebx, 1
mov dword [esp], 0
call dword [0x4156b0]
sub esp, 8
mov dword [esp], eax
call dword [0x41570c]
sub esp, 4
jmp 0x401787
lea eax, [ebp - 0x48]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x20006
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareMicrosoftWindowsCurrentVersionAppletsRegedit
mov dword [esp], 0x80000001
call dword [sym.imp.advapi32.dll_RegCreateKeyExW]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
sub esp, 0x24
test eax, eax
je 0x401ed0
mov eax, dword [0x414e20]
mov dword [esp], eax
call ebx
mov dword [esp], 0
xor ebx, ebx
mov dword [0x414e20], 0
call dword [0x4156d8]
sub esp, 4
jmp 0x401787
cmp dword [ebp + 0x10], 1
je 0x401764
mov eax, dword [0x414e20]
test eax, eax
je 0x401764
mov edx, dword [ebp + 0x14]
movzx eax, word [ebp + 0x14]
shr edx, 0x10
call dbg.ResizeWnd
jmp 0x401764
lea eax, [ebp - 0x48]
movsx ebx, word [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [0x415650]
mov eax, dword [0x414e20]
sub esp, 8
mov edx, dword [eax + 0x10]
lea eax, [edx - 2]
cmp eax, ebx
jg 0x401900
lea eax, [edx + 2]
cmp eax, ebx
jl 0x401900
mov eax, dword [ebp + 8]
mov dword [section..bss], edx
xor ebx, ebx
call dbg.draw_splitbar
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [0x415700]
sub esp, 4
jmp 0x401902
call dword [0x41564c]
mov esi, eax
cmp eax, dword [ebp + 8]
jne 0x401900
movzx edx, word [ebp + 0x14]
mov dword [esp], eax
mov dword [ebp - 0x54], edx
call dword [0x415658]
mov edi, eax
sub esp, 4
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [0x415650]
mov ecx, dword [section..bss]
sub esp, 8
lea eax, [ecx - 2]
add ecx, 3
mov dword [esp], edi
mov dword [ebp - 0x40], ecx
mov ecx, dword [0x41569c]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x50], ecx
mov dword [esp + 4], eax
call ecx
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
sub esp, 8
lea eax, [edx - 2]
mov dword [section..bss], edx
mov dword [ebp - 0x48], eax
lea eax, [edx + 3]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], edi
call ecx
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], esi
call dword [0x4156ec]
sub esp, 8
jmp 0x401787
mov eax, dword [0x414e20]
test eax, eax
je 0x401900
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 8]
cmp edx, 0xfffffe3a
je 0x4022b3
ja 0x40212b
cmp edx, 0xfffffe34
je 0x402239
cmp edx, 0xfffffe35
jne 0x401900
mov dword [esp + 4], 0xffffffeb
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [0x415688]
sub esp, 8
test eax, eax
je 0x401e95
lea eax, [ebp - 0x48]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [0x414e20]
mov eax, dword [eax + 4]
mov dword [esp], eax
call dbg.GetItemPath
test eax, eax
je 0x401e95
cmp word [eax], 0
jne 0x401900
mov ebx, 1
jmp 0x401787
mov eax, dword [0x414e20]
xor edx, edx
mov ecx, dword [eax + 0xc]
test ecx, ecx
sete dl
mov dword [eax + 0xc], edx
mov edx, dword [eax + 8]
cmovne edx, dword [eax + 4]
mov dword [esp], edx
call dword [0x415718]
sub esp, 4
jmp 0x401787
mov eax, dword [0x414e20]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 9
mov esi, dword [0x4156fc]
mov dword [esp + 4], 0x110a
mov eax, dword [eax + 4]
mov dword [esp], eax
call esi
mov dword [ebp - 0x50], eax
mov edi, eax
mov eax, dword [0x414e20]
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x110a
mov eax, dword [eax + 4]
mov dword [esp], eax
call esi
sub esp, 0x10
mov esi, eax
cmp edi, eax
je 0x4020e0
mov eax, dword [ebp - 0x50]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [0x414e20]
mov eax, dword [eax + 4]
mov dword [esp], eax
call dbg.GetItemFullPath
cmp word [eax], 0
mov edi, eax
je 0x4022d1
mov edx, dword [ebp - 0x48]
mov eax, edi
add eax, 2
cmp word [eax], 0
jne 0x401f65
sub eax, edi
mov dword [esp + 0x10], edi
sar eax, 1
mov dword [esp + 0xc], 1
lea eax, [eax + eax + 2]
mov dword [esp + 8], 0
mov dword [esp + 0x14], eax
mov dword [esp + 4], str.LastKey
mov dword [esp], edx
call dword [sym.imp.advapi32.dll_RegSetValueExW]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
sub esp, 0x18
cmp dword [ebp - 0x50], esi
je 0x401fb8
mov dword [esp], edi
mov ebx, dword [sym.imp.ucrtbase.dll_free]
call ebx
mov eax, dword [ebp - 0x48]
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
jmp 0x401cad
lea edi, [ebp - 0x48]
mov dword [ebp - 0x48], esi
mov dword [esp + 4], edi
mov dword [ebp - 0x44], ebx
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [0x4156f0]
mov eax, dword [0x414e20]
sub esp, 8
mov dword [esp + 0xc], edi
mov edi, dword [0x4156fc]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1111
mov eax, dword [eax + 4]
mov dword [esp], eax
call edi
mov edx, 0xffffffff
sub esp, 0x10
test eax, eax
je 0x401b7e
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], 9
mov dword [esp + 4], 0x110b
mov dword [esp + 0xc], eax
mov eax, dword [0x414e20]
mov eax, dword [eax + 4]
mov dword [esp], eax
call edi
mov eax, dword [0x414e20]
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x110a
mov eax, dword [eax + 4]
mov dword [esp], eax
call edi
xor edx, edx
sub esp, 0x10
cmp dword [ebp - 0x3c], eax
setne dl
jmp 0x401b7e
mov edx, dword [section..bss]
test edx, edx
js 0x401900
call dbg.draw_splitbar
xor ebx, ebx
jmp 0x401787
test byte [section..data], 8
je 0x401900
mov dword [esp + 0xc], str.Is_this_ever_called_or_is_it_just_dead_code__n
mov dword [esp + 8], str._CmdWndProc
mov dword [esp + 4], 0x410000
mov dword [esp], 3
call sym._wine_dbg_log.constprop.4
jmp 0x401787
mov eax, dword [0x414e20]
mov edx, dword [ebp - 0x48]
cmp word [eax + 0x40], 0
lea edi, [eax + 0x40]
jne 0x401f63
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.LastKey
mov dword [esp], edx
call dword [sym.imp.advapi32.dll_RegSetValueExW]
sub esp, 0x18
jmp 0x401fb8
cmp edx, 0xfffffe3d
je 0x4021ad
xor ebx, ebx
cmp edx, 0xfffffff9
jne 0x401787
mov dword [eax + 0xc], 0
jmp 0x401787
cmp eax, 0xffffff99
jne 0x401900
mov eax, dword [ebp + 0x14]
mov ebx, dword [sym.imp.ucrtbase.dll_free]
mov esi, dword [eax + 0x28]
mov eax, dword [esi]
mov dword [esp], eax
call ebx
mov eax, dword [esi + 8]
mov dword [esp], eax
call ebx
mov dword [esp], esi
call ebx
xor ebx, ebx
jmp 0x401787
cmp eax, 0xffffff50
je 0x4023ac
cmp eax, 0xffffff51
je 0x40239b
cmp eax, 0xffffff4f
jne 0x401900
mov eax, dword [ebp + 0x14]
xor ebx, ebx
mov dword [esp], eax
call dbg.OnGetDispInfo
jmp 0x401787
mov ecx, dword [ebp + 0x14]
mov ebx, dword [eax + 4]
mov edx, dword [0x4156fc]
mov esi, dword [eax + 8]
mov dword [ebp - 0x48], 0
mov edi, dword [ecx + 0x3c]
mov dword [esp + 0xc], 0
mov dword [ebp - 0x50], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x110a
mov dword [esp], ebx
call edx
mov edx, dword [ebp - 0x50]
sub esp, 0x10
cmp edi, eax
je 0x4024a2
lea eax, [ebp - 0x48]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], edi
call dbg.GetItemPath
mov dword [esp + 0xc], 0
mov ebx, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x48]
mov dword [esp], esi
mov dword [esp + 4], eax
call dbg.RefreshListView
mov dword [esp], ebx
xor ebx, ebx
call dword [sym.imp.ucrtbase.dll_free]
call dbg.UpdateStatusBar
jmp 0x401787
lea esi, [ebp - 0x4c]
mov dword [esp + 4], 0
mov dword [esp + 8], esi
mov eax, dword [eax + 4]
mov dword [esp], eax
call dbg.GetItemPath
mov edi, eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dbg.RenameKey
mov dword [esp], edi
mov edi, dword [sym.imp.ucrtbase.dll_free]
mov ebx, eax
call edi
test ebx, ebx
jne 0x402413
mov eax, dword [0x414e20]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffeb
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [0x415724]
sub esp, 0xc
jmp 0x401787
mov ecx, dword [ebp + 0x14]
xor ebx, ebx
mov dword [esp + 4], ecx
mov eax, dword [eax + 4]
mov dword [esp], eax
call dbg.OnTreeExpanding
test eax, eax
sete bl
jmp 0x401787
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x48]
mov dword [esp + 0x14], 2
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.LastKey
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegSetValueExW]
sub esp, 0x18
jmp 0x401fad
mov dword [esp + 0xc], 3
mov ebx, dword [0x4156fc]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x100c
mov eax, dword [edx + 8]
mov dword [esp], eax
call ebx
sub esp, 0x10
add eax, 1
jne 0x401b05
xor ebx, ebx
jmp 0x401902
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
cmp eax, dword [0x410158]
je 0x40248c
mov dword [0x410158], eax
mov dword [0x4149e0], 0
mov eax, dword [edx + 8]
mov dword [esp + 0xc], dbg.CompareFunc@12
xor ebx, ebx
mov dword [esp + 4], 0x1030
mov dword [esp + 8], eax
mov dword [esp], eax
call dword [0x4156fc]
sub esp, 0x10
jmp 0x401787
mov dword [edx + 0xc], 1
xor ebx, ebx
jmp 0x401787
mov eax, dword [ebp + 0x14]
xor ebx, ebx
cmp dword [eax + 0x10], 0
sete bl
jmp 0x401787
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov eax, dword [edx + 8]
mov dword [esp], eax
call sym._GetItemText
mov ebx, eax
test eax, eax
je 0x4024ce
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x20]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov eax, dword [0x414e24]
mov dword [esp + 8], eax
mov eax, dword [0x414e28]
mov dword [esp + 4], eax
mov eax, dword [0x414e20]
mov eax, dword [eax + 8]
mov dword [esp], eax
call dbg.RenameValue
test eax, eax
jne 0x4024d6
mov dword [esp], ebx
xor ebx, ebx
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x401787
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x48], 0x11
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x1c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113f
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [0x414e20]
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [0x4156fc]
mov eax, dword [0x414e20]
sub esp, 0x10
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [eax + 4]
mov dword [esp], eax
call dbg.GetItemPath
mov dword [esp], eax
mov esi, eax
call sym._update_listview_path
mov dword [esp], esi
call edi
call dbg.UpdateStatusBar
jmp 0x40228a
xor eax, eax
cmp dword [0x4149e0], 0
sete al
mov dword [0x4149e0], eax
jmp 0x402363
mov dword [esp + 0xc], 0
xor ebx, ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1009
mov dword [esp], esi
call edx
sub esp, 0x10
call dbg.UpdateStatusBar
jmp 0x401787
or ebx, 0xffffffff
jmp 0x401787
mov eax, dword [ebp + 0x14]
mov dword [eax + 0x14], 0
add eax, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x1074
mov dword [esp + 8], eax
mov eax, dword [0x414e20]
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [0x4156fc]
sub esp, 0x10
jmp 0x402403