Function at 0x10004ae3
Capabilities:
Write file on windows

Disassembly:
push 0x1bc
mov eax, 0x1000da7d
call fcn.1000d2b2
mov esi, ecx
mov dword [ebp - 0x128], esi
mov al, byte [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x148], ebx
mov byte [ebp - 0x120], dl
mov byte [ebp - 0x11f], al
test dl, dl
jne 0x10004b25
test al, al
je 0x10004b9b
mov eax, dword [esi]
mov edx, 0x72f3e7be
mov dword [ebp - 0x144], edx
mov ecx, ebx
mov dword [ebp - 0x140], 2
mov dword [ebp - 0x13c], ebx
mov edi, dword [eax + 4]
mov dword [ebp - 0x138], 0x72f2762f
mov dword [ebp - 0x134], 0x77be1166
xor dword [ebp + ecx*4 - 0x138], edx
inc ecx
cmp ecx, dword [ebp - 0x140]
jae 0x10004b73
mov edx, dword [ebp - 0x144]
jmp 0x10004b5b
push dword [ebp - 0x120]
mov eax, dword [ebp - 0x13c]
sub esp, 0x28
mov ecx, esp
mov eax, dword [ebp + eax*4 - 0x138]
cdq
push edx
mov dword [ecx], vtable.std::_Func_impl_no_alloc_class__void___cdecl_communicate_class_c_tcp_client___bool__bool_::_2::_lambda_1___void__class_c_tcp_client___struct_std::atomic_bool____void__.0
mov dword [ecx + 0x24], ecx
mov ecx, esi
push eax
call edi
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
push 0x20
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
call fcn.1000c3f6
pop ecx
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], ebx
xor eax, eax
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x40], ebx
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 2
push eax
mov ecx, esi
call fcn.10002d57
test al, al
jne 0x10004c06
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x10004bfe
mov edx, dword [ebp - 0x34]
sub edx, ecx
call fcn.1000a666
mov dword [ebp - 4], ebx
jmp 0x1000528f
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x3c]
sub ecx, edi
mov esi, dword [ebp - 0x40]
cmp ecx, esi
jbe 0x100052a4
mov eax, dword [esi + edi + 4]
mov edx, dword [esi + edi]
add esi, 8
mov dword [ebp - 0x120], eax
mov eax, edx
or eax, dword [ebp - 0x120]
mov dword [ebp - 0x40], esi
jne 0x10004dfa
cmp ecx, esi
jbe 0x100052a4
mov ecx, dword [edi + esi + 4]
lea eax, [esi + 8]
mov edx, dword [edi + esi]
push ecx
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0x1b0]
push edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x64], edx
call fcn.100099b8
pop ecx
pop ecx
mov esi, eax
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 3
call fcn.100045d1
push esi
push eax
push dword [ebp - 0x130]
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 4
call fcn.1000aa5b
or dword [ebp - 0x148], 1
push 0x1000f63c
lea edx, [ebp - 0x180]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x30]
call fcn.10009ad9
pop ecx
lea ecx, [ebp - 0x180]
call fcn.10008aeb
lea ecx, [ebp - 0x198]
call fcn.10008aeb
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 9
call fcn.10008aeb
push 0xb8
lea eax, [ebp - 0x11c]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
cmp dword [ebp - 0x1c], 8
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x11c]
cmovae eax, dword [ebp - 0x30]
push eax
call fcn.10009107
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x120], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x11c]
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::good_void_const]
mov byte [ebp - 0x18], al
test al, al
je 0x10004d89
mov eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x48]
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.10009d70
sub esp, 0x18
mov ecx, esp
mov esi, dword [eax]
lea eax, [ebp - 0x30]
push eax
add esi, 0x18
call fcn.10008b8b
push dword [ebp - 0x12c]
mov ecx, 0x10016c74
push edi
push esi
call fcn.10004633
mov al, byte [ebp - 0x18]
mov byte [ebp - 0x18], al
mov esi, ebx
mov eax, dword [ebp - 0x38]
cmp esi, 1
jae 0x10004dc6
mov cl, byte [ebp + esi - 0x18]
mov byte [ebp - 0x121], cl
cmp eax, dword [ebp - 0x34]
je 0x10004db0
mov byte [eax], cl
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
jmp 0x10004dc3
lea ecx, [ebp - 0x121]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.1000b294
mov eax, dword [ebp - 0x38]
inc esi
jmp 0x10004d91
mov esi, dword [ebp - 0x128]
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, esi
mov eax, dword [esi]
call dword [eax]
lea ecx, [ebp - 0xac]
call fcn.10007d3b
lea ecx, [ebp - 0xac]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x30]
call fcn.10008aeb
jmp 0x10004f53
mov eax, dword [ebp - 0x120]
cmp edx, 1
jne 0x10004f6d
cmp eax, ebx
jne 0x10004f6d
cmp ecx, esi
jbe 0x100052a4
mov ecx, dword [edi + esi]
lea eax, [esi + 8]
mov edx, dword [edi + esi + 4]
lea edi, [ebp - 0x54]
mov dword [ebp - 0x40], eax
xor eax, eax
stosd dword es:[edi], eax
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x58], edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x54]
push eax
call fcn.10002959
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x198]
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
call fcn.100099b8
pop ecx
pop ecx
mov esi, eax
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0xc
call fcn.100045d1
push esi
push eax
push dword [ebp - 0x130]
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0xd
call fcn.1000aa5b
or dword [ebp - 0x148], 4
push str..dll
lea edx, [ebp - 0x180]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x30]
call fcn.10009ad9
pop ecx
lea ecx, [ebp - 0x180]
call fcn.10008aeb
lea ecx, [ebp - 0x1b0]
call fcn.10008aeb
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x12
call fcn.10008aeb
cmp dword [ebp - 0x1c], 8
lea eax, [ebp - 0x30]
push 0x1000f654
cmovae eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
mov ecx, dword [ebp - 0x50]
mov esi, eax
sub ecx, dword [ebp - 0x54]
push esi
push ecx
push 1
push dword [ebp - 0x54]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x48]
mov edi, dword [ebp - 0x5c]
add esp, 0x1c
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x1c0]
push eax
call fcn.10009d70
mov esi, dword [eax]
sub esp, 0x18
lea eax, [ebp - 0x30]
mov ecx, esp
add esi, 0x18
push eax
call fcn.10008b8b
push dword [ebp - 0x12c]
mov ecx, 0x10016c74
push edi
push esi
call fcn.10004633
lea ecx, [ebp - 0x30]
call fcn.10008aeb
lea ecx, [ebp - 0x54]
call fcn.1000843e
mov esi, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x10004bc5
mov edx, dword [ebp - 0x34]
sub edx, ecx
call fcn.1000a666
jmp 0x10004bc5
mov dword [ebp - 0x164], eax
lea ecx, [ebp - 0x48]
lea eax, [ebp - 0x168]
mov dword [ebp - 0x168], edx
push eax
lea eax, [ebp - 0x1c8]
push eax
call fcn.10009d70
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x130], eax
test eax, eax
je 0x10004f4d
mov eax, dword fs:[0x18]
mov cl, 0xb0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
mov edi, dword [eax + 0x10]
mov eax, ebx
mov byte [ebp - 0x140], cl
mov dword [ebp - 0x13c], 8
mov dword [ebp - 0x138], 0xd4ded1d8
mov dword [ebp - 0x134], 0xb0c2d5dc
xor byte [ebp + eax - 0x138], cl
inc eax
cmp eax, dword [ebp - 0x13c]
jae 0x10004ff4
mov cl, byte [ebp - 0x140]
jmp 0x10004fdc
push 2
mov eax, 0x4e5e7cf7
mov dword [ebp - 0x24], ebx
pop edx
mov dword [ebp - 0x2c], eax
mov ecx, ebx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], 0x4e5e7ccb
mov dword [ebp - 0x1c], 0x5328a69f
xor dword [ebp + ecx*4 - 0x20], eax
inc ecx
cmp ecx, dword [ebp - 0x28]
jae 0x10005024
mov eax, dword [ebp - 0x2c]
jmp 0x10005015
mov eax, dword [ebp - 0x24]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x20]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x5cbcf997
mov esi, dword [eax + edi]
mov eax, 0x5cbcf9ef
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], 0x61872397
xor dword [ebp + ecx*4 - 0x20], eax
inc ecx
cmp ecx, dword [ebp - 0x28]
jae 0x1000505b
mov eax, dword [ebp - 0x2c]
jmp 0x1000504c
mov eax, dword [ebp - 0x24]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x20]
add eax, esi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x6b1b76c7
mov dword [ebp - 0x1c], 0x6fe5a08f
mov esi, dword [eax + edi]
mov eax, 0x6b1b76e7
add esi, edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x120], esi
xor dword [ebp + ecx*4 - 0x20], eax
inc ecx
cmp ecx, dword [ebp - 0x28]
jae 0x1000509c
mov eax, dword [ebp - 0x2c]
jmp 0x1000508d
mov eax, dword [ebp - 0x24]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x20]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x7979f3c3
mov eax, dword [esi + eax]
mov esi, 0x7979f3df
add eax, edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1c], 0x7e441d87
xor dword [ebp + ecx*4 - 0x20], esi
inc ecx
cmp ecx, dword [ebp - 0x28]
jae 0x100050db
mov esi, dword [ebp - 0x2c]
jmp 0x100050cc
mov eax, dword [ebp - 0x24]
mov esi, 0x47d870d6
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp + eax*4 - 0x20]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ebx
mov eax, dword [eax + ecx]
mov ecx, ebx
add eax, edi
mov dword [ebp - 0x20], 0x47d870f2
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x1c], 0x4ca29a7e
xor dword [ebp + ecx*4 - 0x20], esi
inc ecx
cmp ecx, dword [ebp - 0x28]
jae 0x10005120
mov esi, dword [ebp - 0x2c]
jmp 0x10005111
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp + eax*4 - 0x20]
mov eax, dword [ecx + eax]
add eax, edi
cmp dword [ebp - 0x150], 0
mov dword [ebp - 0x160], eax
je 0x10005227
cmp dword [ebp - 0x12c], 0
je 0x10005227
test eax, eax
je 0x10005227
mov esi, ebx
mov eax, 0x5636edce
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], eax
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x5636edd6
mov dword [ebp - 0x1c], 0x5b011776
xor dword [ebp + ecx*4 - 0x20], eax
inc ecx
cmp ecx, dword [ebp - 0x28]
jae 0x10005189
mov eax, dword [ebp - 0x2c]
jmp 0x1000517a
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp + eax*4 - 0x20]
cmp esi, dword [ecx + eax]
jae 0x10005227
mov eax, dword [ebp - 0x150]
mov eax, dword [eax + esi*4]
add eax, edi
mov ecx, eax
mov dword [ebp - 0x158], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x14c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100051bb
sub ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x14c], 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x15c], eax
test eax, eax
je 0x1000520a
mov eax, dword [ebp - 0x158]
movsx eax, byte [eax + ecx]
xor eax, dword [ebp - 0x14c]
imul eax, eax, 5
inc ecx
mov dword [ebp - 0x14c], eax
cmp ecx, dword [ebp - 0x15c]
jb 0x100051e1
cmp eax, 0x52e8c03b
je 0x10005210
inc esi
jmp 0x1000515c
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x12c]
movzx eax, word [eax + esi*2]
mov eax, dword [ecx + eax*4]
add eax, edi
jmp 0x10005229
mov eax, ebx
lea ecx, [ebp - 0x138]
push ecx
push dword [ebp - 0x130]
call eax
test eax, eax
je 0x10004f4d
mov esi, dword [ebp - 0x128]
lea ecx, [ebp - 0x40]
push esi
push ecx
mov byte [ebp - 4], 0x13
call eax
pop ecx
pop ecx
mov dword [ebp - 4], 2
jmp 0x10004f53
mov ecx, esi
call fcn.1000316e
lea ecx, [ebp - 0x48]
call fcn.10007d6b
call fcn.1000d204
ret
call fcn.10008faf
int3