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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x5d0
mov esi, esp
mov dword [esi + 0x5b8], ebp
mov dword [esi + 0x5bc], esp
mov dword [esi + 0x5c8], 0xffffffff
mov dword [esi + 0x5c4], 0x705be0
mov ebx, ecx
mov edi, dword [ebp + 8]
mov eax, edx
lea edx, [esi + 0x50]
mov ecx, dword fs:[0]
mov dword [esi + 0x5c0], ecx
lea ecx, [esi + 0x5c0]
mov dword fs:[0], ecx
xor ecx, ecx
cmp edi, 0x1f5
mov dword [esi + 0x54], 1
mov dword [esi + 0x50], 3
mov dword [esi + 0x34], 2
mov dword [esi + 0x3c], 1
mov dword [esi + 0x38], 3
mov byte [esi + 0x40], 1
mov dword [esi + 0x48], 1
mov dword [esi + 0x44], 3
adc cl, 1
mov byte [esi + 0x58], cl
mov word [esi + 0x4c], pe_nt_image_headers32
mov byte [esi + 0x59], 0
lea ecx, [esi + 0x68]
push edi
push eax
call fcn.0061e650
add esp, 8
cmp dword [esi + 0x68], 0
mov dword [esi + 0x14], ebx
je 0x615ca3
movzx eax, word [esi + 0x86]
movsd xmm0, qword [esi + 0x7e]
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
mov edi, dword [esi + 0x78]
movzx ebx, byte [esi + 0x7d]
mov word [esi + 0x20], ax
movzx eax, byte [esi + 0x7c]
movsd qword [esi + 0x18], xmm0
cmp ecx, 3
je 0x616128
mov eax, dword [esi + 0x14]
mov byte [eax + 9], 3
jmp 0x61613e
movzx eax, word [esi + 0x86]
movsd xmm0, qword [esi + 0x7e]
movzx edi, word [esi + 0x7c]
lea ecx, [esi + 0x88]
mov word [esi + 0x1e0], ax
lea eax, [esi + 0x340]
movsd qword [esi + 0x1d8], xmm0
push 0x148
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esi + 0x6c]
movsd xmm1, qword [esi + 0x74]
movzx eax, word [esi + 0x1e0]
movsd qword [esi + 0x324], xmm0
movsd qword [esi + 0x32c], xmm1
mov word [esi + 0x334], di
mov word [esi + 0x33e], ax
movzx eax, byte [esi + 0x58]
movsd xmm1, qword [esi + 0x1d8]
cmp eax, 3
movsd qword [esi + 0x336], xmm1
jne 0x615d6d
lea eax, [esi + 0x324]
push 0x164
push eax
lea edi, [esi + 0x68]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 7], 0
mov dword [esi + 0x5c8], 0
lea ecx, [esi + 0x5c]
lea edx, [esi + 0x34]
push edi
call fcn.0041fc40
add esp, 4
mov edx, dword [esi + 0x5c]
mov edi, dword [esi + 0x60]
movzx eax, byte [esi + 0x64]
movzx ebx, byte [esi + 0x59]
jmp 0x616128
test eax, eax
je 0x615e0a
cmp eax, 1
jne 0x615e91
lea eax, [esi + 0x324]
mov byte [esi + 7], 1
mov dword [esi + 0x5c8], 0
lea ecx, [esi + 0x1d8]
lea edx, [esi + 0x34]
push eax
call fcn.0041e270
add esp, 4
movzx eax, word [esi + 0x1ee]
mov bh, byte [esi + 0x31c]
mov edx, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1dc]
movsd xmm0, qword [esi + 0x1e6]
mov edi, dword [esi + 0x1e0]
mov bl, byte [esi + 0x1e5]
mov word [esi + 0x30], ax
movzx eax, byte [esi + 0x1e4]
cmp bh, 3
movsd qword [esi + 0x28], xmm0
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edx
mov dword [esi + 8], eax
jne 0x615f22
movsd xmm0, qword [esi + 0x28]
movzx eax, word [esi + 0x30]
movsd qword [esi + 0x18], xmm0
mov word [esi + 0x20], ax
jmp 0x615ef2
lea eax, [esi + 0x70]
lea ecx, [esi + 0x324]
push 0x164
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x68], 1
mov dword [esi + 0x6c], 1
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x615e53
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x616152
mov dword [0x919820], eax
push 0x16c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x616152
mov ecx, eax
push 0x16c
lea eax, [esi + 0x68]
push eax
push ecx
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
mov edx, edi
add esp, 0xc
movzx ebx, byte [esi + 0x59]
mov edi, 0x8bfed4
xor eax, eax
jmp 0x616128
mov edx, dword [esi + 0x4c]
movzx eax, byte [esi + 0x4d]
lea edi, [esi + 0x324]
mov byte [esi + 7], 1
mov dword [esi + 0x5c8], 0
lea ecx, [esi + 0x68]
push edi
push eax
call fcn.004153c0
add esp, 8
cmp dword [esi + 0x68], 0
je 0x615fd0
mov eax, dword [esi + 0x70]
movsd xmm0, qword [esi + 0x7e]
mov edi, dword [esi + 0x78]
movzx ebx, byte [esi + 0x7d]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x74]
movsd qword [esi + 0x18], xmm0
mov dword [esi + 0xc], eax
movzx eax, word [esi + 0x86]
mov word [esi + 0x20], ax
movzx eax, byte [esi + 0x7c]
mov dword [esi + 8], eax
lea eax, [esi + 0x324]
mov dword [esi + 0x5c8], 0xffffffff
push eax
call fcn.00639010
add esp, 4
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp ecx, 3
jne 0x615c97
jmp 0x616128
push 0x12c
lea eax, [esi + 0x1f0]
push eax
lea eax, [esi + 0x488]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x31d]
movsd xmm0, qword [esi + 0x28]
mov word [esi + 0x1b5], ax
movzx eax, byte [esi + 0x31f]
mov byte [esi + 0x1b7], al
mov eax, dword [esi + 0x10]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x78], edi
mov byte [esi + 0x7c], al
movzx eax, word [esi + 0x30]
mov byte [esi + 0x7d], bl
movsd qword [esi + 0x7e], xmm0
mov word [esi + 0x86], ax
push 0x12c
lea eax, [esi + 0x488]
push eax
lea eax, [esi + 0x88]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x1b4], bh
mov dword [esi + 0x68], 1
mov dword [esi + 0x6c], 1
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
je 0x6160bd
lea edi, [esi + 0x68]
jmp 0x6160d3
movsd xmm0, qword [esi + 0x7e]
movzx eax, word [esi + 0x86]
movzx ebx, word [esi + 0x7c]
lea edi, [esi + 0x1d8]
movsd qword [esi + 0x488], xmm0
mov word [esi + 0x490], ax
push 0x140
lea eax, [esi + 0x88]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esi + 0x6c]
movsd xmm1, qword [esi + 0x74]
movzx eax, word [esi + 0x490]
movsd qword [esi + 0x70], xmm0
movsd qword [esi + 0x78], xmm1
movsd xmm1, qword [esi + 0x488]
mov word [esi + 0x80], bx
mov word [esi + 0x8a], ax
lea eax, [esi + 0x8c]
movsd qword [esi + 0x82], xmm1
push 0x140
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x68], 1
mov dword [esi + 0x6c], 1
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x616089
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x616188
mov dword [0x919820], eax
push 0x164
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x616188
push 0x164
lea ecx, [esi + 0x68]
push ecx
mov dword [esi + 0xc], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, 0x8bffdc
mov al, 2
jmp 0x616102
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
lea edi, [esi + 0x68]
je 0x61616d
mov dword [0x919820], eax
push 0x150
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x61616d
push 0x150
push edi
mov dword [esi + 0xc], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, 0x8bff58
mov al, 1
movzx ebx, byte [esi + 0x59]
mov dword [esi + 8], eax
lea eax, [esi + 0x324]
mov dword [esi + 0x5c8], 0xffffffff
push eax
call fcn.00639010
add esp, 4
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x14]
mov dword [ecx], edx
movzx edx, word [esi + 0x18]
mov dword [ecx + 4], edi
mov byte [ecx + 8], al
mov byte [ecx + 9], bl
mov word [ecx + 0xa], dx
mov eax, dword [esi + 0x5c0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 4
mov edx, 0x16c
mov dword [esi + 0x5c8], 3
call fcn.00709d20
jmp 0x6161a1
mov ecx, 4
mov edx, 0x150
mov dword [esi + 0x5c8], 2
call fcn.00709d20
jmp 0x6161a1
mov ecx, 4
mov edx, 0x164
mov dword [esi + 0x5c8], 1
call fcn.00709d20
ud2