Function at 0x416247
Capabilities:
Delete registry key

Disassembly:
push 0xec
mov eax, 0x44a0b5
call fcn.004386f7
mov dword [ebp - 0xa4], ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
push 0x406490
push 0x406275
push 7
pop edi
push edi
push 4
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 1
call fcn.0043a7ab
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 2
call fcn.0042c4ac
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 3
call fcn.0042c4ac
mov ecx, 0x2000000
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
xor eax, eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x44], ax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], ebx
mov word [ebp - 0x5c], ax
push 0x2c
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 4], 8
mov dword [ebp - 0xac], ebx
call fcn.0040693a
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0041954e
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
add esp, 0xc
sub eax, ecx
push 0x18
cdq
pop esi
idiv esi
cmp eax, 6
jb 0x416e5a
cmp eax, edi
ja 0x416e5a
mov esi, ecx
mov edi, ebx
cmp ecx, dword [ebp - 0xb8]
je 0x41639d
push 0x18
lea ebx, [ebp - 0x2c]
pop eax
cmp edi, 7
jae 0x41638d
cmp dword [esi + 0x14], 8
jb 0x416369
mov eax, dword [esi]
jmp 0x41636b
mov eax, esi
push eax
mov ecx, ebx
call fcn.00409f9c
push dword [ebx]
push edi
push str.Parameter__1_d_____2_s__n
push str.CUninstallActions::DelReg
push 4
call fcn.00405a24
add esp, 0x14
push 0x18
pop eax
add esi, eax
inc edi
add ebx, 4
cmp esi, dword [ebp - 0xb8]
jne 0x41635a
xor ebx, ebx
push str.REG_HKLM
lea ecx, [ebp - 0x2c]
call fcn.004069bd
test eax, eax
jne 0x4163b5
mov ebx, 0x80000002
jmp 0x416417
push str.REG_HKCU
lea ecx, [ebp - 0x2c]
call fcn.004069bd
test eax, eax
jne 0x4163cd
mov ebx, 0x80000001
jmp 0x416417
push str.REG_HKCR
lea ecx, [ebp - 0x2c]
call fcn.004069bd
test eax, eax
jne 0x4163e5
mov ebx, 0x80000000
jmp 0x416417
push str.REG_HKUS
lea ecx, [ebp - 0x2c]
call fcn.004069bd
test eax, eax
jne 0x4163fd
mov ebx, 0x80000003
jmp 0x416417
push str.REG_HKCC
lea ecx, [ebp - 0x2c]
call fcn.004069bd
test eax, eax
jne 0x416e50
mov ebx, 0x80000005
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xa0], ebx
cmp dword [eax - 0xc], 0
je 0x416451
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.0040693a
add eax, 0x10
mov dword [esi], eax
mov esi, dword [ebp - 0xa4]
pop ecx
mov ecx, esi
call fcn.0041bf94
test eax, eax
jne 0x416457
xor esi, esi
inc esi
jmp 0x416eac
mov esi, dword [ebp - 0xa4]
lea eax, [ebp - 0xc8]
push eax
push str.0x_x
push dword [ebp - 0x18]
call fcn.0043a53b
add esp, 0xc
test eax, eax
jg 0x416490
push 0xa
lea eax, [ebp - 0xcc]
push eax
push dword [ebp - 0x18]
call fcn.0043a4af
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xc8], ecx
jmp 0x416496
mov ecx, dword [ebp - 0xc8]
cmp dword [0x468eb0], 0
je 0x4164cf
test ecx, 0x10000
je 0x4164cf
mov edi, 0xf023f
push edi
push str.samDesired__0x_1_lx___n
push str.CUninstallActions::DelReg
push 5
mov dword [ebp - 0xa8], edi
call fcn.00405a24
mov ecx, dword [ebp - 0xc8]
add esp, 0x10
jmp 0x4164d4
mov edi, 0x2000000
movzx eax, cl
dec eax
je 0x416dff
dec eax
je 0x416aa1
dec eax
je 0x4168b4
dec eax
je 0x41666b
dec eax
jne 0x416449
cmp ebx, 0x80000003
je 0x416449
lea ecx, [ebp - 0xec]
call fcn.0042c4ac
mov esi, 0x4676b0
push esi
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x10
call fcn.0040620b
push esi
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x11
call fcn.0040620b
push 0x5c
pop edi
push edi
push dword [ebp - 0x20]
mov byte [ebp - 4], 0x12
call fcn.00439299
pop ecx
or esi, 0xffffffff
pop ecx
test eax, eax
jne 0x416553
mov eax, esi
jmp 0x416558
sub eax, dword [ebp - 0x20]
sar eax, 1
push eax
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x20]
call fcn.0041d57c
push eax
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x13
call fcn.004065c3
mov ecx, dword [ebp - 0xf0]
mov byte [ebp - 4], 0x12
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov eax, dword [ebp - 0x20]
push edi
mov ecx, dword [eax - 0xc]
push eax
mov dword [ebp - 0xa0], ecx
call fcn.00439299
pop ecx
pop ecx
test eax, eax
je 0x4165aa
mov esi, eax
sub esi, dword [ebp - 0x20]
sar esi, 1
mov eax, dword [ebp - 0xa0]
sub eax, esi
dec eax
push eax
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x20]
call fcn.0041ed7e
push eax
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x14
call fcn.004065c3
mov ecx, dword [ebp - 0xcc]
mov byte [ebp - 4], 0x12
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xa4]
push ecx
push edi
push ebx
lea ecx, [ebp - 0xec]
call fcn.0042cc14
mov esi, dword [ebp - 0xac]
test eax, eax
je 0x416647
mov eax, dword [esi - 0xc]
inc eax
push eax
push esi
lea ecx, [ebp - 0xec]
call fcn.0042c5c0
push dword [ebp - 0x20]
test eax, eax
je 0x416628
push str.__1_s___create._n
jmp 0x41662d
push str.__1_s___cannot_create._n
push str.CUninstallActions::DelReg
push 5
call fcn.00405a24
add esp, 0x10
lea ecx, [ebp - 0xec]
call fcn.0042c5a8
lea ecx, [esi - 0x10]
call fcn.00409a06
lea ecx, [edi - 0x10]
call fcn.00409a06
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 8
call fcn.0042c4fc
jmp 0x416449
cmp ebx, 0x80000003
je 0x416449
lea ecx, [ebp - 0x84]
call fcn.0042c4b9
push 0x406490
push 0x406275
push 2
push 4
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0xd
call fcn.0043a7ab
mov edi, dword [ebp - 0xbc]
mov byte [ebp - 4], 0xe
mov esi, edi
cmp edi, dword [ebp - 0xb8]
je 0x4166d9
push 0x18
xor ebx, ebx
pop edi
push ebx
push 1
mov ecx, esi
call fcn.00401ba5
add esi, edi
cmp esi, dword [ebp - 0xb8]
jne 0x4166b9
mov ebx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xbc]
push 0x3a
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0x1c]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov dword [ebp - 0xb8], edi
call fcn.0040693a
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0041954e
mov eax, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xbc]
add esp, 0xc
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
cmp eax, 2
jae 0x4167a3
push 0x4676b0
lea ecx, [ebp - 0xa4]
call fcn.0040620b
push 0x57
mov byte [ebp - 4], 0xf
call dword [sym.imp.KERNEL32.dll_SetLastError]
push dword [ebp + 8]
lea eax, [ebp - 0xa4]
push str.CUninstallActions::DelReg_invalid_parameters.___s_
push eax
call fcn.00406ea6
mov esi, dword [ebp - 0xa4]
add esp, 0xc
xor ebx, ebx
push 0x10
push str.Internal_Error
push esi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esi - 0x10]
call fcn.00409a06
push 0x406490
push 2
push 4
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0xd
call fcn.00438e50
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 8
call fcn.0042c507
mov esi, ebx
jmp 0x416eae
xor eax, eax
mov edi, eax
cmp esi, dword [ebp - 0xb8]
je 0x416845
lea ebx, [ebp - 0xb0]
cmp edi, 1
jbe 0x4167ff
push 0x3a
lea ecx, [ebp - 0xac]
call fcn.00414043
cmp dword [esi + 0x14], 8
jb 0x4167d5
mov eax, dword [esi]
jmp 0x4167d7
mov eax, esi
push eax
lea ecx, [ebp - 0xac]
call fcn.00406767
push dword [ebp - 0xac]
push str.strRegValue_1____1_s__n
push str.CUninstallActions::DelReg
push 5
call fcn.00405a24
add esp, 0x10
jmp 0x41682a
cmp dword [esi + 0x14], 8
jb 0x416809
mov eax, dword [esi]
jmp 0x41680b
mov eax, esi
push eax
mov ecx, ebx
call fcn.00406767
push dword [ebx]
push edi
push str.strRegValue__1_d_____2_s__n
push str.CUninstallActions::DelReg
push 5
call fcn.00405a24
add esp, 0x14
push 0x18
pop eax
add esi, eax
inc edi
add ebx, 4
cmp esi, dword [ebp - 0xb8]
jne 0x4167b9
mov ebx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa8]
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x84]
push ebx
call fcn.0042cc14
test eax, eax
je 0x416887
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx - 0xc]
inc eax
push eax
push ecx
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x84]
call fcn.0042cc68
lea ecx, [ebp - 0x84]
call fcn.0042c5a8
push 0x406490
push 2
push 4
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0xd
call fcn.00438e50
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 8
call fcn.0042c507
jmp 0x416449
cmp ebx, 0x80000003
je 0x416449
lea ecx, [ebp - 0x80]
call fcn.0042c489
push 0x406490
push 0x406275
push 2
push 4
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0xa
call fcn.0043a7ab
mov edi, dword [ebp - 0xbc]
mov byte [ebp - 4], 0xb
mov esi, edi
cmp edi, dword [ebp - 0xb8]
je 0x41691f
push 0x18
xor ebx, ebx
pop edi
push ebx
push 1
mov ecx, esi
call fcn.00401ba5
add esi, edi
cmp esi, dword [ebp - 0xb8]
jne 0x4168ff
mov ebx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xbc]
push 0x3a
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0x1c]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov dword [ebp - 0xb8], edi
call fcn.0040693a
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0041954e
mov eax, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xbc]
add esp, 0xc
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
cmp eax, 2
je 0x4169e0
push 0x4676b0
lea ecx, [ebp - 0xa4]
call fcn.0040620b
push 0x57
mov byte [ebp - 4], 0xc
call dword [sym.imp.KERNEL32.dll_SetLastError]
push dword [ebp + 8]
lea eax, [ebp - 0xa4]
push str.CUninstallActions::DelReg_invalid_parameters.___s_
push eax
call fcn.00406ea6
mov esi, dword [ebp - 0xa4]
add esp, 0xc
xor ebx, ebx
push 0x10
push str.Internal_Error
push esi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esi - 0x10]
call fcn.00409a06
push 0x406490
push 2
push 4
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0xa
call fcn.00438e50
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 8
call fcn.0042c4df
jmp 0x41679c
xor eax, eax
mov edi, eax
cmp esi, dword [ebp - 0xb8]
je 0x416a3c
push 0x18
lea ebx, [ebp - 0xb0]
pop eax
cmp edi, 2
jae 0x416a28
cmp dword [esi + 0x14], 8
jb 0x416a04
mov eax, dword [esi]
jmp 0x416a06
mov eax, esi
push eax
mov ecx, ebx
call fcn.00409f9c
push dword [ebx]
push edi
push str.Parameter__1_d_____2_s__n
push str.CUninstallActions::DelReg
push 4
call fcn.00405a24
add esp, 0x14
push 0x18
pop eax
add esi, eax
inc edi
add ebx, 4
cmp esi, dword [ebp - 0xb8]
jne 0x4169f5
mov ebx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa8]
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x80]
push ebx
call fcn.0042cc14
test eax, eax
je 0x416a77
push dword [ebp - 0xac]
mov esi, dword [ebp - 0xb0]
call fcn.0043a813
pop ecx
push eax
push esi
lea ecx, [ebp - 0x80]
call fcn.0042cc46
lea ecx, [ebp - 0x80]
call fcn.0042c5a8
push 0x406490
push 2
push 4
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0xa
call fcn.00438e50
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 8
call fcn.0042c4df
jmp 0x416449
cmp ebx, 0x80000003
jne 0x416aba
push edi
push ecx
push dword [ebp - 0x20]
mov ecx, esi
call fcn.00418b53
jmp 0x416449
mov esi, dword [ebp - 0x20]
xor eax, eax
cmp word [esi], ax
je 0x416acb
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x44]
call fcn.00401db2
push 1
xor eax, eax
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0xa0], 0x2a
call fcn.0040baaf
or esi, 0xffffffff
cmp eax, esi
jne 0x416b30
push 1
xor eax, eax
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0xa0], 0x3f
call fcn.0040baaf
cmp eax, esi
jne 0x416b30
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00421582
jmp 0x416c4a
push esi
xor eax, eax
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00401cf8
push 0x5c
pop edi
push 1
push esi
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0xa0], edi
call fcn.0040bbab
lea ecx, [ebp - 0x44]
cmp eax, esi
je 0x416bd9
push 1
push esi
lea eax, [ebp - 0xa0]
push eax
mov dword [ebp - 0xa0], edi
call fcn.0040bbab
push eax
xor eax, eax
push eax
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x44]
call fcn.004058e2
push eax
lea ecx, [ebp - 0x44]
call fcn.00406613
xor eax, eax
push eax
push 1
lea ecx, [ebp - 0x9c]
call fcn.00401ba5
push 1
push esi
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0xa0], edi
call fcn.0040bbab
inc eax
push eax
xor edi, edi
push edi
lea ecx, [ebp - 0x5c]
call fcn.00401f31
lea ecx, [ebp - 0x5c]
cmp ecx, eax
je 0x416be1
push esi
push edi
push eax
call fcn.00401cf8
jmp 0x416be1
xor eax, eax
push eax
call fcn.00401efe
cmp dword [ebp - 0x30], 8
mov edi, dword [ebp - 0xa8]
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push edi
push eax
push ebx
lea ecx, [ebp - 0xf8]
call fcn.0042cc14
mov esi, eax
test esi, esi
je 0x416c2a
sub esp, 0x18
lea eax, [ebp - 0x5c]
mov ecx, esp
push eax
call fcn.00403424
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xf8]
call fcn.0042c95e
mov ebx, esi
jmp 0x416c4a
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
push str.Cannot_open_the_key___1_s___by_CMpReg_n
push str.CUninstallActions::DelReg
push 5
call fcn.00405a24
add esp, 0x10
mov esi, dword [ebp - 0xd8]
jmp 0x416dcb
cmp dword [esi + 0x14], 8
jb 0x416c5f
mov eax, dword [esi]
jmp 0x416c61
mov eax, esi
push eax
push str.CMD_UNINSTREG_DELETEKEY::__1_s___n
push str.CUninstallActions::DelReg
push 5
call fcn.00405a24
add esp, 0x10
cmp dword [esi + 0x14], 8
jb 0x416c80
mov eax, dword [esi]
jmp 0x416c82
mov eax, esi
push edi
push eax
push ebx
lea ecx, [ebp - 0xc4]
call fcn.0042cc14
test eax, eax
je 0x416ddc
push str.Advapi32.dll
call fcn.00401fef
mov edi, eax
pop ecx
test edi, edi
je 0x416cbb
push str.RegDeleteKeyExW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xc8]
and ecx, 0xff00
je 0x416d66
cmp ecx, 0x100
je 0x416d3c
cmp ecx, 0x200
je 0x416d52
cmp ecx, 0x300
je 0x416d24
push ecx
push str.CMD_UNINSTREG_DELTEKEY_others__nAct0xFF00__0x_1_lx___n
push str.CUninstallActions::DelReg
push 5
call fcn.00405a24
add esp, 0x10
cmp dword [esi + 0x14], 8
jb 0x416d04
mov ecx, dword [esi]
jmp 0x416d06
mov ecx, esi
mov eax, dword [ebp - 0xc8]
and eax, 0xff00
push eax
push ecx
mov ecx, dword [ebp - 0xa4]
push ebx
call fcn.00416f2e
jmp 0x416db5
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0042c7b6
test eax, eax
jne 0x416db5
jmp 0x416d71
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0042c7b6
test eax, eax
jne 0x416db5
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0042c897
jmp 0x416d36
lea ecx, [ebp - 0xc4]
call fcn.0042c6fb
lea ecx, [ebp - 0xc4]
call fcn.0042c5a8
mov edx, dword [ebp - 0xac]
test edx, edx
je 0x416da1
cmp dword [esi + 0x14], 8
jb 0x416d90
mov eax, dword [esi]
jmp 0x416d92
mov eax, esi
mov ecx, dword [ebp - 0xa8]
push 0
push ecx
push eax
push ebx
call edx
jmp 0x416db5
cmp dword [esi + 0x14], 8
jb 0x416dab
mov eax, dword [esi]
jmp 0x416dad
mov eax, esi
push eax
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test edi, edi
je 0x416dc0
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edi, dword [ebp - 0xa8]
push 0x18
pop eax
add esi, eax
cmp esi, dword [ebp - 0xd4]
jne 0x416c55
jmp 0x416449
cmp dword [esi + 0x14], 8
jb 0x416de6
mov eax, dword [esi]
jmp 0x416de8
mov eax, esi
push eax
push str.Cannot_open_the_key___1_s___by_CMpReg_n
push str.CUninstallActions::DelReg
push 5
call fcn.00405a24
add esp, 0x10
jmp 0x416dc6
push edi
cmp ebx, 0x80000003
jne 0x416e1b
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.00434eac
add esp, 0xc
jmp 0x416449
push dword [ebp - 0x20]
lea ecx, [ebp - 0xc4]
push ebx
call fcn.0042cc14
test eax, eax
je 0x416449
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xc4]
call fcn.0042c759
lea ecx, [ebp - 0xc4]
call fcn.0042c5a8
jmp 0x416449
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x416eaa
push 0x4676b0
lea ecx, [ebp - 0xa4]
call fcn.0040620b
push 0x57
mov byte [ebp - 4], 9
call dword [sym.imp.KERNEL32.dll_SetLastError]
push dword [ebp + 8]
lea eax, [ebp - 0xa4]
push str.CUninstallActions::DelReg_invalid_parameters.___s_
push eax
call fcn.00406ea6
mov esi, dword [ebp - 0xa4]
add esp, 0xc
push 0x10
push str.Internal_Error
push esi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esi - 0x10]
call fcn.00409a06
mov esi, ebx
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.00401ba5
push ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.00401ba5
lea ecx, [ebp - 0xd8]
call fcn.004052ea
lea ecx, [ebp - 0xe4]
call fcn.004052ea
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 3
call fcn.0042c4fc
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 2
call fcn.0042c4fc
push 0x406490
push 7
push 4
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 1
call fcn.00438e50
lea ecx, [ebp - 0xbc]
call fcn.004052ea
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00409a06
mov eax, esi
call fcn.004386a6
ret 4