Function at 0x4021d0
Capabilities:
Extract resource via kernel32 functions
Query or enumerate registry key
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x410f34
mov eax, dword fs:[0]
push eax
sub esp, 0x210
mov eax, dword [0x416060]
xor eax, esp
mov dword [esp + 0x208], eax
push ebx
push esi
push edi
mov eax, dword [0x416060]
xor eax, esp
push eax
lea eax, [esp + 0x220]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
cmp eax, 2
je 0x402240
cmp eax, 3
je 0x402240
push str._nHOW_TO_USE:_n_nshell2vst___source___n_nExample:_n_nshell2vst__c:program_filesmy_vstswaveshell.dll__n_nOn_success_this_program_will_create_for_each_shell_plugin_a_small_vst_in__nc:program_filesmy_vsts__vendor__._n_nThe_created_vsts_can_be_used_in_hosts_which_do_not_support_shell_vsts_nproperly._n_n_nNote:_n_nYou_can_also_drag_the_shell.dll_onto_the_shell2vst.exe_to_create_the_vsts__n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 8
call fcn.004108da
jmp 0x403020
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x100
lea ecx, [esp + 0x5c]
mov esi, eax
call fcn.00401a40
push 0x100
lea ecx, [esp + 0x5c]
mov dword [esp + 0x22c], 0
call fcn.00401ad0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x58]
call fcn.00401ad0
push eax
lea ecx, [esp + 0xb0]
call fcn.00401850
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x22c], 1
call fcn.00401190
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x22c], 2
call fcn.00402000
lea ecx, [esp + 0x74]
mov byte [esp + 0x228], 1
call fcn.00401aa0
lea ecx, [esp + 0x58]
call fcn.00401ad0
push eax
lea ecx, [esp + 0xb0]
call fcn.00401740
lea ecx, [esp + 0xd4]
push ecx
lea ecx, [esp + 0xb0]
call fcn.004019a0
lea ecx, [esp + 0xd4]
call fcn.00401610
mov edx, dword [edi + 4]
push edx
lea ecx, [esp + 0xb0]
call fcn.00401740
lea ecx, [esp + 0xac]
call fcn.004010b0
test al, al
je 0x402fa1
lea ecx, [esp + 0xac]
call fcn.00401580
cmp eax, 3
jne 0x402f9a
lea ecx, [esp + 0x84]
call fcn.00401a90
lea eax, [esp + 0x84]
push eax
push 0
push 0
push 0
lea ecx, [esp + 0xbc]
mov byte [esp + 0x238], 3
call fcn.00401360
push 0
push 0
push str..dll
lea ecx, [esp + 0x90]
call fcn.00401ba0
test eax, eax
jne 0x402f63
lea ecx, [esp + 0xac]
call fcn.00401180
push eax
lea ecx, [esp + 0x70]
call fcn.00402040
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x22c], 4
call fcn.00402040
lea ecx, [esp + 0x1c]
mov byte [esp + 0x228], 5
call fcn.00401b00
mov edi, eax
test edi, edi
jle 0x4023f4
jmp 0x4023d0
push edi
lea ecx, [esp + 0x20]
call fcn.00401cf0
cmp byte [eax], 0x5c
je 0x4023e6
dec edi
test edi, edi
jg 0x4023d0
jmp 0x4023f4
inc edi
push edi
lea ecx, [esp + 0x20]
call fcn.00401cf0
mov byte [eax], 0
push 0x118
call fcn.004047f6
add esp, 4
mov dword [esp + 0x50], eax
mov byte [esp + 0x228], 6
test eax, eax
je 0x402420
mov ecx, eax
call fcn.00403090
mov ebx, eax
mov dword [esp + 0x4c], eax
jmp 0x402426
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x228], 5
test ebx, ebx
je 0x402f2b
push 0x412514
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
fld dword [0x412510]
add esp, 8
push 0x100
push ecx
lea ecx, [esp + 0xb4]
fstp dword [esp]
call fcn.00401180
mov ecx, eax
call fcn.00401ad0
push eax
mov ecx, ebx
call fcn.004036d0
test eax, eax
je 0x402efa
fldz
mov eax, dword [ebx + 0x10c]
mov edx, dword [eax + 4]
push ecx
fstp dword [esp]
push 0
push 0
push 0
push 0x23
push eax
mov dword [esp + 0x30], eax
call edx
add esp, 0x18
cmp eax, 0xa
jne 0x4028c1
push 0x41250c
push 0x6f
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
je 0x4028b7
push 0x100
lea ecx, [esp + 0x40]
call fcn.00401a40
push 0
lea ecx, [esp + 0x40]
mov byte [esp + 0x22c], 7
call fcn.00401d20
fldz
push ecx
fstp dword [esp]
mov ebx, eax
mov eax, dword [esp + 0x1c]
push ebx
push 0
push 0
push 0x2f
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x18
cmp byte [ebx], 0
mov byte [ebx + 0x3f], 0
jne 0x402519
mov ecx, dword [str.Waves]
mov dword [ebx], ecx
mov dx, word [0x412508]
mov word [ebx + 4], dx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x20]
call fcn.00402020
push 0x4122f8
lea ecx, [esp + 0x20]
call fcn.00402030
lea ecx, [esp + 0x1c]
call fcn.00401ad0
push eax
lea ecx, [esp + 0x90]
call fcn.00401850
lea ecx, [esp + 0x8c]
mov byte [esp + 0x228], 8
call fcn.00401440
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push edi
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0x40
lea ecx, [esp + 0x38]
mov dword [esp + 0x34], eax
call fcn.00401a40
push 0
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 9
call fcn.00401d20
push 0x100
lea edi, [ebx + 0xc08]
push 0
push edi
mov esi, eax
call fcn.00403e80
add esp, 0xc
lea ecx, [esp + 0x6c]
call fcn.00401ad0
sub edi, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x4025c0
push 0x412500
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
fldz
mov eax, dword [esp + 0x20]
fstp dword [esp + 4]
mov ecx, dword [eax + 4]
add esp, 4
push esi
push 0
push 0
push 0x46
push eax
mov byte [esp + 0x2b], 0
mov dword [esp + 0x2c], 0
call ecx
add esp, 0x18
test eax, eax
je 0x40284b
mov edi, dword [esp + 0x30]
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x54]
mov dword [ebx + 0xd08], eax
call fcn.00402040
push 0x20
push str.___:__
lea ecx, [esp + 0x3c]
mov byte [esp + 0x230], 0xa
call fcn.00401b50
push 0
push esi
lea ecx, [esp + 0x58]
call fcn.00401f90
push 0
push str..dll
lea ecx, [esp + 0x58]
call fcn.00401f90
lea ecx, [esp + 0x50]
call fcn.00401ad0
push eax
lea ecx, [esp + 0xf8]
call fcn.00401850
lea ecx, [esp + 0xf4]
mov byte [esp + 0x228], 0xb
call fcn.00401090
test al, al
je 0x4027a2
cmp byte [esp + 0x13], 0
jne 0x4027a2
jmp 0x4026a0
push 0x100
lea eax, [esp + 0x118]
push 0
push eax
call fcn.00403e80
add esp, 0xc
push esi
push str._s.dll_exists__overwrite__y_es__n_o__a_ll__:
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
call fcn.004051c3
push eax
lea ecx, [esp + 0x124]
push 0x100
push ecx
call fcn.00404f7f
lea eax, [esp + 0x12c]
add esp, 0x18
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4026f0
sub eax, edx
cmp eax, 2
jne 0x4026a0
mov al, byte [esp + 0x114]
cmp al, 0x79
je 0x4027a2
cmp al, 0x59
je 0x4027a2
cmp al, 0x6e
je 0x402804
cmp al, 0x4e
je 0x402804
cmp al, 0x61
je 0x402731
cmp al, 0x41
jne 0x4026a0
push 0xa
lea ecx, [esp + 0xf8]
call fcn.00401680
test al, al
je 0x402784
push 0
push edi
push ebx
lea ecx, [esp + 0x100]
call fcn.00401030
lea ecx, [esp + 0xf4]
call fcn.00401000
push esi
push str._s.dll_created..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
inc dword [esp + 0x14]
mov byte [esp + 0x13], 1
jmp 0x402804
push esi
push str.failed_to_create__s.dll..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
mov byte [esp + 0x13], 1
jmp 0x402804
push 0xa
lea ecx, [esp + 0xf8]
call fcn.00401680
test al, al
je 0x4027ed
push 0
push edi
push ebx
lea ecx, [esp + 0x100]
call fcn.00401030
lea ecx, [esp + 0xf4]
call fcn.00401000
push esi
push str._s.dll_created..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
inc dword [esp + 0x14]
jmp 0x402804
push esi
push str.failed_to_create__s.dll..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
lea ecx, [esp + 0xf4]
mov byte [esp + 0x228], 0xa
call fcn.00401610
lea ecx, [esp + 0x50]
mov byte [esp + 0x228], 9
call fcn.00401aa0
fldz
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
push ecx
fstp dword [esp]
push esi
push 0
push 0
push 0x46
push eax
call edx
add esp, 0x18
test eax, eax
jne 0x402613
mov eax, dword [esp + 0x14]
push eax
push str._n_d_vsts_created..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x34]
mov byte [esp + 0x228], 8
call fcn.00401aa0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x228], 7
call fcn.00401610
lea ecx, [esp + 0x3c]
mov byte [esp + 0x228], 5
call fcn.00401aa0
mov ebx, dword [esp + 0x4c]
mov ecx, ebx
call fcn.004030b0
jmp 0x402f1b
push str._nshell2vst.exe_corrupted..._n_n
jmp 0x402ed5
cmp byte [0x4174b4], 0
je 0x402ed0
push 0x41250c
push 0x6f
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
je 0x4028b7
push str.Waves
lea ecx, [esp + 0x78]
call fcn.00402070
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x22c], 0xc
call fcn.00402020
push 0x4122f8
lea ecx, [esp + 0x20]
call fcn.00402030
lea ecx, [esp + 0x1c]
call fcn.00401ad0
push eax
lea ecx, [esp + 0xd8]
call fcn.00401850
lea ecx, [esp + 0xd4]
mov byte [esp + 0x228], 0xd
call fcn.00401440
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push edi
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0x100
lea esi, [ebx + 0xc08]
push 0
push esi
mov dword [esp + 0x50], eax
call fcn.00403e80
add esp, 0xc
lea ecx, [esp + 0x6c]
call fcn.00401ad0
sub esi, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + esi], cl
inc eax
test cl, cl
jne 0x402980
push 0x412500
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 8
lea edx, [esp + 0x18]
push edx
push 9
xor edi, edi
push edi
push str.Filter
push 0x80000000
mov byte [esp + 0x27], 0
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x402e78
mov edx, dword [esp + 0x18]
push edi
push edi
push edi
push edi
push edi
push edi
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x64]
push ecx
push edi
push edi
push edi
push edx
mov dword [esp + 0x78], edi
mov dword [esp + 0x5c], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
test eax, eax
jne 0x402e6d
mov eax, dword [esp + 0x2c]
inc eax
push eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], eax
call fcn.00401a40
mov eax, dword [esp + 0x2c]
add eax, 0x32
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x22c], 0xe
call fcn.00401a40
xor esi, esi
mov byte [esp + 0x228], 0xf
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], edi
mov dword [esp + 0x30], esi
cmp dword [esp + 0x48], edi
jbe 0x402e4b
nop
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x34]
call fcn.00401d40
lea edx, [esp + 0xcc]
push edx
push edi
push edi
push edi
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x48]
call fcn.00401ad0
mov ecx, dword [esp + 0x2c]
push eax
push esi
push ecx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
push str.Filter_
lea ecx, [esp + 0x40]
call fcn.00402010
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x40]
call fcn.00402020
lea eax, [esp + 0x24]
push eax
push 1
push edi
lea ecx, [esp + 0x48]
mov dword [esp + 0x30], edi
call fcn.00401ad0
push eax
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x402e3c
push 0x104
lea ecx, [esp + 0x80]
mov dword [esp + 0x2c], 0x104
call fcn.00401a40
lea ecx, [esp + 0x7c]
mov byte [esp + 0x228], 0x10
call fcn.00401ad0
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x28]
push ecx
mov esi, eax
push esi
push edi
push edi
push 0x412448
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402e1c
push str.Waves
push esi
mov byte [esi + 5], al
call fcn.0041088d
add esp, 8
test eax, eax
jne 0x402e1c
mov edx, dword [esp + 0x24]
mov byte [esp + 0xf4], al
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov word [esp + 0x105], ax
mov byte [esp + 0x107], al
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0xf8]
push ecx
push edi
push edi
push 0x412440
push edx
mov dword [esp + 0x40], 0x14
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402e1c
lea eax, [esp + 0xf4]
push eax
call fcn.00404e81
fcomp qword [str.333333]
add esp, 4
fnstsw ax
test ah, 5
jp 0x402e1c
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x64]
push edx
push edi
push edi
push str.UniqueID
push eax
mov dword [esp + 0x40], 4
mov dword [esp + 0x78], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402e1c
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x1c]
mov dword [ebx + 0xd08], ecx
push edx
lea ecx, [esp + 0x68]
call fcn.00402040
push 0x20
push str.___:__
lea ecx, [esp + 0x84]
mov byte [esp + 0x230], 0x11
call fcn.00401b50
push edi
add esi, 6
push esi
lea ecx, [esp + 0x6c]
call fcn.00401f90
push edi
push str..dll
lea ecx, [esp + 0x6c]
call fcn.00401f90
lea ecx, [esp + 0x64]
call fcn.00401ad0
push eax
lea ecx, [esp + 0x90]
call fcn.00401850
lea ecx, [esp + 0x8c]
mov byte [esp + 0x228], 0x12
call fcn.00401090
test al, al
je 0x402d92
cmp byte [esp + 0x13], 0
jne 0x402d92
push 0x100
lea eax, [esp + 0x118]
push edi
push eax
call fcn.00403e80
add esp, 0xc
push esi
push str._s.dll_exists__overwrite__y_es__n_o__a_ll__:
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
call fcn.004051c3
push eax
lea ecx, [esp + 0x124]
push 0x100
push ecx
call fcn.00404f7f
lea eax, [esp + 0x12c]
add esp, 0x18
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402cc0
sub eax, edx
cmp eax, 2
jne 0x402c70
mov al, byte [esp + 0x114]
cmp al, 0x79
je 0x402d78
cmp al, 0x59
je 0x402d78
cmp al, 0x6e
je 0x402df7
cmp al, 0x4e
je 0x402df7
cmp al, 0x61
je 0x402d01
cmp al, 0x41
jne 0x402c70
push 0xa
lea ecx, [esp + 0x90]
call fcn.00401680
test al, al
je 0x402d57
mov edx, dword [esp + 0x44]
push edi
push edx
push ebx
lea ecx, [esp + 0x98]
call fcn.00401030
lea ecx, [esp + 0x8c]
call fcn.00401000
push esi
push str._s.dll_created..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
inc dword [esp + 0x14]
mov byte [esp + 0x13], 1
jmp 0x402df7
push esi
push str.failed_to_create__s.dll..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
mov byte [esp + 0x13], 1
jmp 0x402df7
push 0xa
lea ecx, [esp + 0x90]
call fcn.00401680
test al, al
je 0x402de0
mov eax, dword [esp + 0x44]
push edi
push eax
jmp 0x402daa
push 0xa
lea ecx, [esp + 0x90]
call fcn.00401680
test al, al
je 0x402de0
mov ecx, dword [esp + 0x44]
push edi
push ecx
push ebx
lea ecx, [esp + 0x98]
call fcn.00401030
lea ecx, [esp + 0x8c]
call fcn.00401000
push esi
push str._s.dll_created..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
inc dword [esp + 0x14]
jmp 0x402df7
push esi
push str.failed_to_create__s.dll..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
lea ecx, [esp + 0x8c]
mov byte [esp + 0x228], 0x11
call fcn.00401610
lea ecx, [esp + 0x64]
mov byte [esp + 0x228], 0x10
call fcn.00401aa0
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x228], 0xf
call fcn.00401aa0
mov esi, dword [esp + 0x30]
inc esi
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x48]
jb 0x402a50
lea ecx, [esp + 0x3c]
mov byte [esp + 0x228], 0xe
call fcn.00401aa0
lea ecx, [esp + 0x34]
mov byte [esp + 0x228], 0xd
call fcn.00401aa0
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x14]
push ecx
push str._n_d_vsts_created..._n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 0xc
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0xd4]
mov byte [esp + 0x228], 0xc
call fcn.00401610
lea ecx, [esp + 0x74]
mov byte [esp + 0x228], 5
call fcn.00401aa0
mov ebx, dword [esp + 0x4c]
mov ecx, ebx
call fcn.004030b0
jmp 0x402f1b
push str._nSpecified_source_is_not_a_shell_vst..._n_n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, ebx
call fcn.004030b0
jmp 0x402f1b
push str._nSource_is_not_a_valid_vst..._n_n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, ebx
call fcn.00403530
push ebx
call fcn.00404662
add esp, 4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x228], 4
call fcn.00401aa0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x228], 3
call fcn.00401aa0
lea ecx, [esp + 0x84]
mov byte [esp + 0x228], 1
call fcn.00401aa0
jmp 0x402fc2
push str._nNo_valid_source_specified..._n_n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x84]
mov byte [esp + 0x228], 1
call fcn.00401aa0
jmp 0x402fc2
push str._nCannot_write_to_target..._n_n
jmp 0x402fa6
push str._nNo_valid_source_specified..._n_n
call fcn.004051c3
add eax, 0x20
push eax
call fcn.004050b7
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x58]
call fcn.00401ad0
push eax
lea ecx, [esp + 0xb0]
call fcn.00401740
lea edx, [esp + 0xd4]
push edx
lea ecx, [esp + 0xb0]
call fcn.004019a0
lea ecx, [esp + 0xd4]
call fcn.00401610
lea ecx, [esp + 0xac]
mov byte [esp + 0x228], 0
call fcn.00401610
lea ecx, [esp + 0x58]
mov dword [esp + 0x228], 0xffffffff
call fcn.00401aa0
xor eax, eax
mov ecx, dword [esp + 0x220]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x208]
xor ecx, esp
call fcn.00403c6f
mov esp, ebp
pop ebp
ret