Function at 0x615680
Capabilities:
Delete registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x1c
push 0
push 0
dec ecx
jne 0x615689
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x78], ecx
mov byte [ebp - 0x29], dl
mov dword [ebp - 0x30], eax
mov ecx, 0xa
lea eax, [ebp - 0x28]
mov edx, dword [0x4012b8]
call fcn.0040a268
xor eax, eax
push ebp
push 0x61643e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x61645c
call fcn.005f8688
lea eax, [ebp - 0xa4]
call fcn.005a3b94
mov eax, dword [ebp - 0xa4]
call fcn.0042170c
mov byte [ebp - 0x79], 1
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1c], 0
mov byte [ebp - 0x7a], 0
xor eax, eax
mov dword [ebp - 0x80], eax
xor eax, eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x48], eax
mov dl, 1
mov eax, dword [0x5ef58c]
call fcn.00406998
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x6163d1
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x5ef58c]
call fcn.00406998
mov dword [ebp - 0x80], eax
mov dl, 1
mov eax, dword [0x5ef58c]
call fcn.00406998
mov dword [ebp - 0x44], eax
mov dl, 1
mov eax, dword [0x5ef58c]
call fcn.00406998
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0x5ef58c]
call fcn.00406998
mov dword [ebp - 0x38], eax
mov dl, 1
mov eax, dword [0x5ef58c]
call fcn.00406998
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x78], 0
je 0x61578b
mov dl, 1
mov eax, dword [0x5ef58c]
call fcn.00406998
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x84], eax
mov ecx, eax
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp byte [ebp - 0x29], 0
je 0x615b44
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x615b44
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x80
jne 0x615b29
xor eax, eax
push ebp
push 0x615ad6
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.0061562c
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x61580f
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.005f2e2c
inc eax
jne 0x615a97
mov bl, 1
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 1
je 0x615826
xor ebx, ebx
jmp 0x615830
test esi, 2
je 0x615830
mov bl, 2
mov dword [ebp - 0xa0], 1
test esi, 8
je 0x61584e
mov dword [ebp - 0xa0], 7
jmp 0x615872
test esi, 0x10
je 0x615862
mov dword [ebp - 0xa0], 3
jmp 0x615872
test esi, 0x40
je 0x615872
xor eax, eax
mov dword [ebp - 0xa0], eax
test esi, 4
jne 0x61598d
lea eax, [ebp - 0xa8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x61647c
call fcn.00409a14
mov eax, dword [ebp - 0xa8]
call fcn.005f8688
cmp dword [ebp - 0x24], 0
je 0x6158c0
lea eax, [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov edx, 0x6164a8
call fcn.00409a14
mov eax, dword [ebp - 0xac]
call fcn.005f8688
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x6158e9
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov edx, dword [ebp - 0x28]
call fcn.005ed918
test al, al
je 0x61597e
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x614a48
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
call fcn.005f17b0
test al, al
jne 0x61594b
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x6164d4
call fcn.005f890c
mov byte [ebp - 0x79], 0
jmp 0x615a84
cmp bl, 1
jne 0x615a84
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x616510
call fcn.005f890c
jmp 0x615a84
mov eax, 0x616534
call fcn.005f8688
jmp 0x615a84
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x616558
call fcn.00409a14
mov eax, dword [ebp - 0xb8]
call fcn.005f8688
cmp dword [ebp - 0x24], 0
je 0x6159cf
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x24]
mov edx, 0x616590
call fcn.00409a14
mov eax, dword [ebp - 0xbc]
call fcn.005f8688
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
je 0x6159eb
mov eax, dword [ebp - 0x28]
call fcn.005a2fcc
test al, al
je 0x615a7a
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
jne 0x6159f9
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0xa0]
push eax
push 0x614a48
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
call fcn.005f1a7c
test al, al
jne 0x615a4e
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x6165c4
call fcn.005f890c
mov byte [ebp - 0x79], 0
jmp 0x615a84
cmp bl, 1
jne 0x615a84
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x616510
call fcn.005f890c
jmp 0x615a84
mov eax, 0x616600
call fcn.005f8688
cmp dword [ebp - 0x1c], 0
je 0x615acc
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x80]
call fcn.005f2d38
jmp 0x615acc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0x11
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc4], eax
mov byte [ebp - 0xc0], 0x11
lea edx, [ebp - 0xcc]
mov ecx, 1
mov eax, 0x61662c
call fcn.005f890c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x615aff
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.0061490c
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x615b37
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x6157ca
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x615d79
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x88]
cmp word [eax + 0x10], 0x82
jne 0x615d2b
mov byte [ebp - 0x89], 1
xor eax, eax
push ebp
push 0x615d02
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov eax, dword [ebp - 0x88]
call fcn.0061562c
pop ecx
cmp byte [ebp - 0x29], 0
jne 0x615bae
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x615cf1
cmp byte [ebp - 0x29], 0
jne 0x615bba
cmp dword [ebp - 0x24], 0
jne 0x615bbe
xor eax, eax
jmp 0x615bc0
mov al, 1
mov byte [ebp - 0x8a], al
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 8]
test esi, 8
setne bl
test bl, bl
je 0x615bf5
test esi, 0x400
setne dl
mov eax, dword [ebp - 0x28]
call fcn.00615020
mov byte [ebp - 0x8b], al
jmp 0x615bfc
mov byte [ebp - 0x8b], 0
test bl, bl
je 0x615c4e
cmp byte [ebp - 0x8b], 0
je 0x615cf8
cmp byte [ebp - 0x8a], 0
jne 0x615c4e
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.005ed918
test al, al
je 0x615c4e
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 2
jne 0x615c4e
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
je 0x615cf8
mov byte [ebp - 0x89], 0
cmp byte [ebp - 0x8a], 0
jne 0x615ca2
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je 0x615c81
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.006150dc
pop ecx
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x40
je 0x615ca2
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne al
mov edx, dword [ebp - 0x28]
call fcn.006152e4
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 4
je 0x615cdb
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0x11
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x61666c
call fcn.005f890c
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
call fcn.005f279c
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 0x10
je 0x615cf8
mov eax, dword [ebp - 0x18]
call fcn.0061546c
jmp 0x615cf8
mov byte [ebp - 0x89], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x615d2b
cmp byte [ebp - 0x89], 0
je 0x615d5e
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.0061490c
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x615d6c
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x615b5d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x6162f9
push ebp
mov eax, dword [ebp - 0x88]
call fcn.0061562c
pop ecx
xor eax, eax
push ebp
push 0x61629b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x88]
movzx esi, word [eax + 0x10]
movzx eax, si
cmp eax, 0x85
jg 0x615e18
je 0x616065
cmp eax, 0x81
jg 0x615dfa
je 0x615e8b
dec eax
je 0x615e49
add eax, 0xfffffff1
sub eax, 2
jb case.0x615e26.140
sub eax, 0xe
je case.0x615e26.140
sub eax, 0x60
je case.0x615e26.140
jmp case.default.0x615e26
sub eax, 0x82
je 0x615f34
dec eax
je case.0x615e26.140
dec eax
je 0x616052
jmp case.default.0x615e26
add eax, 0xffffff7a
cmp eax, 6
ja case.default.0x615e26
jmp dword [eax*4 + 0x615e2d]
lea eax, [ebp - 0xd4]
mov ecx, dword [ebp - 0x28]
mov edx, 0x616694
call fcn.00409a14
mov edx, dword [ebp - 0xd4]
lea ecx, [ebp - 0xd0]
mov al, 0xd5
call fcn.005ab128
mov ecx, dword [ebp - 0xd0]
mov dl, 1
mov eax, dword [0x419944]
call fcn.00426604
call fcn.00407e08
jmp case.0x615e26.140
cmp byte [ebp - 0x29], 0
jne 0x615ea1
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne case.0x615e26.140
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 8]
test bl, 4
setne al
push eax
test bl, 8
setne al
push eax
push 0
push 0x614988
push 0x614994
lea eax, [ebp - 0x48]
push eax
test bl, 2
setne cl
test bl, 0x20
setne al
mov edx, dword [ebp - 0x28]
call fcn.005f0780
test al, al
je case.0x615e26.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
je case.0x615e26.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x10
je case.0x615e26.140
push 0
mov eax, dword [ebp - 0x70]
push eax
push 5
push 0x10
call sub.shell32.dll_SHChangeNotify
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0x28]
call fcn.005a2b90
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
call fcn.005f2d8c
jmp case.0x615e26.140
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x24]
call fcn.00408b34
cmp byte [ebp - 0x29], 0
jne 0x615f4b
cmp dword [ebp - 0x74], 0
jne 0x615f56
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00408b34
cmp byte [ebp - 0x29], 0
jne 0x615f68
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
jne 0x615fcf
cmp byte [ebp - 0x29], 0
jne 0x615f7e
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 2
jne case.0x615e26.140
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
setne al
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
setne cl
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne dl
mov eax, dword [ebp - 0x74]
call fcn.00614bc4
pop ecx
test al, al
jne case.0x615e26.140
mov byte [ebp - 0x79], 0
jmp case.0x615e26.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 8
je 0x615ff0
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 4
setne dl
mov eax, dword [ebp - 0x28]
call fcn.00615020
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x28]
call fcn.00409bac
je case.0x615e26.140
push ebp
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x80
setne al
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 1
setne al
push eax
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 0x20
setne cl
mov eax, dword [ebp - 0x88]
test byte [eax + 9], 8
setne dl
mov eax, dword [ebp - 0x74]
call fcn.00614bc4
pop ecx
test al, al
jne case.0x615e26.140
mov byte [ebp - 0x79], 0
jmp case.0x615e26.140
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.005a340c
jmp case.0x615e26.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
je 0x616084
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.005a32b0
test al, al
je case.0x615e26.140
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
call fcn.005a3458
jmp case.0x615e26.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.0061467c
movzx eax, byte [ebp - 0x91]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
call fcn.005a420c
test eax, eax
je case.0x615e26.140
sub eax, 2
je case.0x615e26.140
mov byte [ebp - 0x79], 0
jmp case.0x615e26.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.0061467c
push 0
push 2
lea eax, [ebp - 0x9c]
push eax
movzx eax, byte [ebp - 0x91]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
call fcn.005a414c
test eax, eax
jne case.0x615e26.140
push 2
push 0x656080
push 1
push 0
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegSetValueExW
test eax, eax
je 0x616142
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey
jmp case.0x615e26.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.0061467c
movzx eax, byte [ebp - 0x91]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
call fcn.005a4390
test eax, eax
je case.0x615e26.140
sub eax, 2
je case.0x615e26.140
sub eax, 0x8f
je case.0x615e26.140
mov byte [ebp - 0x79], 0
jmp case.0x615e26.140
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x91]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
call fcn.0061467c
push 0
push 3
lea eax, [ebp - 0x9c]
push eax
movzx eax, byte [ebp - 0x91]
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x98]
call fcn.005a414c
test eax, eax
jne case.0x615e26.140
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x9c]
call fcn.005a408c
test al, al
je 0x616213
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegDeleteValueW
test eax, eax
je 0x616213
mov byte [ebp - 0x79], 0
mov eax, dword [ebp - 0x9c]
push eax
call sub.advapi32.dll_RegCloseKey
jmp case.0x615e26.140
mov eax, dword [ebp - 0x88]
test byte [eax + 8], 1
setne dl
mov eax, dword [ebp - 0x28]
call fcn.00615020
jmp case.0x615e26.140
mov byte [ebp - 0x7a], 1
jmp case.0x615e26.140
lea eax, [ebp - 0xe0]
push eax
movzx eax, si
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xb4]
xor ecx, ecx
mov eax, 0x6166c0
call fcn.00421be4
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
mov al, 0xd5
call fcn.005ab128
mov ecx, dword [ebp - 0xdc]
mov dl, 1
mov eax, dword [0x419944]
call fcn.00426604
call fcn.00407e08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6162c4
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x30]
call fcn.0061490c
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp dword [ebp - 0x88], 0
jne 0x615d92
cmp byte [ebp - 0x7a], 0
je 0x61630f
push 0
push 0
push 0
push 0x8000000
call sub.shell32.dll_SHChangeNotify
mov eax, dword [ebp - 0x30]
test byte [eax + 0x1d], 0x10
je 0x61631d
call fcn.005f2a6c
cmp dword [ebp - 0x78], 0
je 0x61632d
call dword [ebp - 0x78]
push ebp
call fcn.00615598
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6163db
mov eax, dword [ebp - 0x48]
call fcn.004069c8
mov eax, dword [ebp - 0x34]
call fcn.004069c8
mov eax, dword [ebp - 0x38]
call fcn.004069c8
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x6163b0
inc esi
xor ebx, ebx
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.005f2e10
mov eax, dword [ebp - 0xe4]
call fcn.005a2fb8
test al, al
je 0x6163ac
push 0
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x3c]
call fcn.005f2e10
mov eax, dword [ebp - 0xe8]
call fcn.004097c0
push eax
push 0x1005
push 0x1000
call sub.shell32.dll_SHChangeNotify
inc ebx
dec esi
jne 0x616360
mov eax, dword [ebp - 0x40]
call fcn.004069c8
mov eax, dword [ebp - 0x44]
call fcn.004069c8
mov eax, dword [ebp - 0x80]
call fcn.004069c8
mov eax, dword [ebp - 0x3c]
call fcn.004069c8
ret