Function at 0x4088e0
Capabilities:
Terminate process
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [sym.imp.cygwin1.dll___stack_chk_guard]
mov dword [esp + 0x4c], eax
xor eax, eax
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
cmp ebx, 0x17
jbe 0x46d310
lea ebp, [ebx - 8]
sub ebx, 0x18
js 0x408a66
cmp ebp, dword [edi + 0x34]
ja 0x408abe
cmp ebx, dword [edi + 0x28]
ja 0x408a9a
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
add ecx, 8
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x3c]
mov dword [esp + 8], ebp
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x48], edx
call fcn.004513c4
mov eax, dword [edi + 0x48]
mov edx, dword [esp + 0x40]
mov dword [eax], edx
mov edx, dword [esp + 0x44]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x48]
mov dword [eax + 8], edx
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 0
mov eax, dword [edi + 0x30]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebp
mov eax, dword [edi + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call fcn.0040a6d0
cmp ebx, eax
jne 0x46d2b2
mov eax, dword [edi + 0x30]
lea ecx, [esp + 0x3a]
lea edx, [eax + ebx]
call fcn.00407e70
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
lea ebx, [eax - 4]
mov dword [esi], edx
mov edx, dword [esp + 0x44]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x48]
mov dword [esi + 8], edx
mov ecx, dword [eax - 4]
lea edx, [eax - 0xc]
test ecx, ecx
js 0x408a20
cmp edx, sym.imp.cygstdc_6.dll_std::string::_Rep::_S_empty_rep_storage
jne 0x408a60
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x3c]
lea edx, [eax - 0xc]
cmp eax, method.std::string.swap_std::string_
jne 0x408a40
mov eax, dword [esp + 0x4c]
sub eax, dword [sym.imp.cygwin1.dll___stack_chk_guard]
jne 0x408ae2
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret 4
lea eax, [esp + 0x3b]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00451178
jmp 0x4089f3
mov ecx, 0xffffffff
lock xadd dword [eax - 4], ecx
test ecx, ecx
jg 0x408a04
lea eax, [esp + 0x3b]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00451180
jmp 0x408a04
lock add dword [ebx], 1
jmp 0x4089f3
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 5
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov dword [esp], str.BUG._n
call sub.cygwin1.dll_fwrite
mov dword [esp], 1
call sub.cygwin1.dll_exit
mov dword [esp + 0xc], str._size_t_pt_len___plaintext_buffer.len__
mov dword [esp + 8], str.const_Crypto::Message_Crypto::Session::decrypt_const_char__size_t_
mov dword [esp + 4], 0x10a
mov dword [esp], str.crypto.cc
call sub.cygwin1.dll___assert_func
mov dword [esp + 0xc], str._size_t_body_len___ciphertext_buffer.len__
mov dword [esp + 8], str.const_Crypto::Message_Crypto::Session::decrypt_const_char__size_t_
mov dword [esp + 4], 0x109
mov dword [esp], str.crypto.cc
call sub.cygwin1.dll___assert_func
call sub.cygwin1.dll___stack_chk_fail
mov ebx, eax
jmp 0x46d36e
mov dword [esp], 0xc
lea ebx, [esp + 0x3c]
call sub.cygstdc_6.dll___cxa_allocate_exception
mov dword [esp + 4], str.Packet_failed_integrity_check.
mov edi, eax
lea eax, [esp + 0x3b]
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00467290
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00451cb0
mov dword [esp], ebx
call fcn.004510f0
mov dword [esp + 8], 0x451dd0
mov dword [esp + 4], 0x47dc3c
mov dword [esp], edi
call sub.cygstdc_6.dll___cxa_throw
mov dword [esp], 0xc
lea ebx, [esp + 0x3c]
call sub.cygstdc_6.dll___cxa_allocate_exception
mov dword [esp + 4], str.Ciphertext_must_contain_nonce_and_tag.
mov edi, eax
lea eax, [esp + 0x3b]
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00467290
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00451cb0
mov dword [esp], ebx
call fcn.004510f0
mov dword [esp + 8], 0x451dd0
mov dword [esp + 4], 0x47dc3c
mov dword [esp], edi
call sub.cygstdc_6.dll___cxa_throw
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.004510f0
mov dword [esp], ebx
call sub.cyggcc_s_1.dll__Unwind_Resume
mov dword [esp], ebx
mov esi, eax
call fcn.004510f0
mov dword [esp], edi
call sub.cygstdc_6.dll___cxa_free_exception
mov dword [esp], esi
call sub.cyggcc_s_1.dll__Unwind_Resume
mov esi, eax
jmp 0x46d38c