Function at 0x406384
Capabilities:
Write file on windows

Disassembly:
jmp 0x4f65c0
push 0xffffffffffffffff
push 0x789b74
mov eax, dword fs:[0]
push eax
mov eax, 0x1fcd0
call fcn.00564f40
mov eax, dword [0x856918]
xor eax, esp
mov dword [esp + 0x1fccc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x856918]
xor eax, esp
push eax
lea eax, [esp + 0x1fce4]
mov dword fs:[0], eax
xor ebx, ebx
mov esi, ecx
mov dword [esp + 0x18], ebx
cmp byte [esi + 0x1bc], bl
jne 0x4f6e2d
mov eax, dword [esi]
mov edx, dword [eax + 4]
push 0x1f9ff
lea ecx, [esp + 0x2e4]
push ecx
mov ecx, esi
call edx
mov ebp, eax
cmp ebp, ebx
jle 0x4f6e2d
lea eax, [esp + 0x2e0]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], eax
cmp byte [esi + 0x26c], bl
jne 0x4f6b5e
mov ecx, eax
push 0x7bb43c
push ecx
mov byte [esp + ebp + 0x2e8], bl
call fcn.00565490
add esp, 8
cmp eax, ebx
jne 0x4f66f9
lea edx, [esp + 0x2e0]
push 0x7bb444
push edx
call fcn.00565490
add esp, 8
cmp eax, ebx
jne 0x4f66f9
mov byte [esi + 0x1bc], 1
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
push str.CWebSocket::OnSocketReceive___Received_bad_data
lea ecx, [esp + 0xd4]
mov dword [esp + 0x1fcf0], ebx
call fcn.00401b1d
push ebx
push ebx
lea eax, [esp + 0xd8]
push eax
mov ecx, esi
call fcn.00406f2d
mov ecx, dword [esi + 0x268]
push esi
call fcn.00402d33
mov edx, dword [esi + 0x30]
mov eax, dword [edx + 4]
lea ecx, [esi + 0x30]
call eax
lea ecx, [esp + 0xd0]
call fcn.00402ed7
xor al, al
jmp 0x4f6e2f
push ebx
push 1
lea ecx, [esp + 0x164]
call fcn.00407ec8
lea ecx, [esp + 0x20]
push ecx
push ebp
lea edx, [esp + 0x2e8]
push edx
lea ecx, [esp + 0x168]
mov dword [esp + 0x1fcf8], 1
mov dword [esp + 0x2c], ebx
call fcn.00403ed6
test al, al
jne 0x4f67c4
mov byte [esi + 0x1bc], 1
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
push str.CWebSocket::OnSocketReceive___Failed_to_parse_header
lea ecx, [esp + 0xd4]
mov byte [esp + 0x1fcf0], 2
call fcn.00401b1d
push ebx
push ebx
lea eax, [esp + 0xd8]
push eax
mov ecx, esi
call fcn.00406f2d
mov ecx, dword [esi + 0x268]
push esi
call fcn.00402d33
mov edx, dword [esi + 0x30]
mov eax, dword [edx + 4]
lea ecx, [esi + 0x30]
call eax
lea ecx, [esp + 0xd0]
call fcn.00402ed7
lea ecx, [esp + 0x15c]
mov dword [esp + 0x1fcec], 0xffffffff
call fcn.0040498f
xor al, al
jmp 0x4f6e2f
lea ecx, [esp + 0x15c]
call fcn.004016c2
mov ecx, 0xc8
cmp ax, cx
je 0x4f68a0
mov byte [esi + 0x1bc], 1
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
lea ecx, [esp + 0x15c]
mov byte [esp + 0x1fcec], 3
call fcn.004016c2
movzx edx, ax
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.004083af
push eax
lea ecx, [esp + 0x130]
push str.CWebSocket::OnSocketReceive___Received_error_code_from_web_server:
push ecx
mov byte [esp + 0x1fd00], 4
call fcn.00404cfa
add esp, 0x14
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x1fcf8], 5
call fcn.00403fb2
lea ecx, [esp + 0x124]
call fcn.00402ed7
lea ecx, [esp + 0x28]
mov byte [esp + 0x1fcec], 3
call fcn.00402ed7
push ebx
push ebx
lea edx, [esp + 0xd8]
push edx
mov ecx, esi
call fcn.00406f2d
mov ecx, dword [esi + 0x268]
push esi
call fcn.00402d33
mov eax, dword [esi + 0x30]
mov edx, dword [eax + 4]
lea ecx, [esi + 0x30]
call edx
jmp 0x4f679a
mov edi, 0xf
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
push str.content_length
lea ecx, [esp + 0xf0]
mov byte [esp + 0x1fcf0], 6
call fcn.004062df
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x164]
mov byte [esp + 0x1fcf4], 7
call fcn.004080e9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1fcf8], 8
call fcn.00403fb2
lea ecx, [esp + 0x28]
call fcn.00402ed7
lea ecx, [esp + 0xec]
mov byte [esp + 0x1fcec], 6
call fcn.00402ed7
cmp dword [esp + 0x154], ebx
jne 0x4f6af1
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
push str.connection
lea ecx, [esp + 0xf0]
mov byte [esp + 0x1fcf0], 9
call fcn.004062df
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x164]
mov byte [esp + 0x1fcf4], 0xa
call fcn.004080e9
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x1fcf8], 0xb
call fcn.00403fb2
lea ecx, [esp + 0x28]
call fcn.00402ed7
lea ecx, [esp + 0xec]
mov byte [esp + 0x1fcec], 9
call fcn.00402ed7
cmp dword [esp + 0xe4], ebx
je 0x4f6a1c
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0xf0]
push edx
call fcn.00407ce8
push eax
lea eax, [esp + 0x34]
push eax
mov byte [esp + 0x1fcfc], 0xc
mov dword [esp + 0x28], 1
call fcn.004037e7
push 0x7bb510
push eax
mov dword [esp + 0x1fd04], 0xd
mov dword [esp + 0x30], 3
call fcn.00402b80
add esp, 0x18
mov byte [esp + 0x17], bl
test al, al
je 0x4f6a21
mov byte [esp + 0x17], 1
test byte [esp + 0x18], 2
je 0x4f6a36
and dword [esp + 0x18], 0xfffffffd
lea ecx, [esp + 0x28]
call fcn.00402ed7
test byte [esp + 0x18], 1
mov dword [esp + 0x1fcec], 9
je 0x4f6a54
lea ecx, [esp + 0xec]
call fcn.00402ed7
cmp byte [esp + 0x17], bl
je 0x4f6ae1
mov byte [esi + 0x1bc], 1
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
push str.CWebSocket::OnSocketReceive___Invalid_header
lea ecx, [esp + 0x128]
mov byte [esp + 0x1fcf0], 0xe
call fcn.00401b1d
push ebx
push ebx
lea ecx, [esp + 0x12c]
push ecx
mov ecx, esi
call fcn.00406f2d
mov ecx, dword [esi + 0x268]
push esi
call fcn.00402d33
mov edx, dword [esi + 0x30]
mov eax, dword [edx + 4]
add esi, 0x30
mov ecx, esi
call eax
lea ecx, [esp + 0x124]
call fcn.00402ed7
lea ecx, [esp + 0xd0]
call fcn.00402ed7
lea ecx, [esp + 0x140]
jmp 0x4f67a1
mov byte [esi + 0x26d], 1
lea ecx, [esp + 0xd0]
jmp 0x4f6b1e
lea ecx, [esp + 0x140]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00407ce8
push eax
mov byte [esp + 0x1fcf8], 0xf
call fcn.00408f1c
add esp, 0xc
mov dword [esi + 0x270], eax
lea ecx, [esp + 0x28]
call fcn.00402ed7
mov eax, dword [esp + 0x20]
lea ecx, [esp + eax + 0x2e0]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x140]
sub ebp, eax
mov byte [esi + 0x26c], 1
call fcn.00402ed7
lea ecx, [esp + 0x15c]
mov dword [esp + 0x1fcec], 0xffffffff
call fcn.0040498f
cmp ebp, ebx
je 0x4f6dab
cmp dword [esi + 0x210], ebx
jne 0x4f6b95
xor edi, edi
cmp ebp, ebx
jbe 0x4f6dab
mov edx, dword [esp + 0x1c]
lea eax, [edi + edx]
push eax
lea ecx, [esi + 0x278]
call fcn.00402a6d
inc edi
cmp edi, ebp
jb 0x4f6b78
jmp 0x4f6dab
xor ecx, ecx
mov dword [esp + 0x120], 7
mov dword [esp + 0x11c], ebx
mov word [esp + 0x10c], cx
mov dword [esp + 0x1fcec], 0x10
lea ecx, [esp + 0x108]
cmp byte [esi + 0x274], bl
je 0x4f6bdd
push 0x7bb548
call fcn.00404db3
mov byte [esi + 0x274], bl
jmp 0x4f6be7
push 0x7bb550
call fcn.00404db3
mov ecx, dword [esp + 0x10c]
mov eax, 8
cmp dword [esp + 0x120], eax
jae 0x4f6c03
lea ecx, [esp + 0x10c]
cmp dword [esi + 0x214], eax
jb 0x4f6c13
mov eax, dword [esi + 0x200]
jmp 0x4f6c19
lea eax, [esi + 0x200]
push ecx
push eax
call fcn.00564ed0
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x4f6d77
mov byte [esi + 0x1bc], 1
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
mov edx, dword [esi + 4]
mov eax, dword [edx + 4]
lea ecx, [eax + esi + 4]
mov byte [esp + 0x1fcec], 0x11
call fcn.00519740
push eax
lea ecx, [esp + 0x48]
push ecx
call fcn.004083af
mov edi, eax
lea eax, [esi + 0x1fc]
push eax
lea edx, [esp + 0xa4]
push edx
mov byte [esp + 0x1fcfc], 0x12
call fcn.00407662
push eax
lea eax, [esp + 0xc8]
push str.CWebSocket::OnSocketReceive___Failed_to_open_file:
push eax
mov byte [esp + 0x1fd08], 0x13
call fcn.00404cfa
push 0x7bb558
push eax
lea ecx, [esp + 0xa0]
push ecx
mov byte [esp + 0x1fd14], 0x14
call fcn.00405939
push edi
push eax
lea edx, [esp + 0x90]
push edx
mov byte [esp + 0x1fd20], 0x15
call fcn.00402fd1
add esp, 0x34
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0x1fcf8], 0x16
call fcn.00403fb2
lea ecx, [esp + 0x60]
call fcn.00402ed7
lea ecx, [esp + 0x7c]
call fcn.00402ed7
lea ecx, [esp + 0xb4]
call fcn.00402ed7
lea ecx, [esp + 0x98]
call fcn.00402ed7
lea ecx, [esp + 0x44]
mov byte [esp + 0x1fcec], 0x11
call fcn.00402ed7
push ebx
push ebx
lea eax, [esp + 0xf4]
push eax
mov ecx, esi
call fcn.00406f2d
mov ecx, dword [esi + 0x268]
push esi
call fcn.00402d33
mov edx, dword [esi + 0x30]
mov eax, dword [edx + 4]
lea ecx, [esi + 0x30]
call eax
lea ecx, [esp + 0xec]
call fcn.00402ed7
lea ecx, [esp + 0x108]
call fcn.00403a26
xor al, al
jmp 0x4f6e2f
mov ecx, dword [esp + 0x1c]
push edi
push 1
push ebp
push ecx
call fcn.00564d88
add dword [esi + 0x290], ebp
push edi
call fcn.00564baa
add esp, 0x14
lea ecx, [esp + 0x108]
mov dword [esp + 0x1fcec], 0xffffffff
call fcn.00403a26
cmp byte [esi + 0x26d], bl
jne 0x4f6e0d
mov eax, dword [esi + 0x210]
cmp eax, ebx
je 0x4f6dcf
mov edx, dword [esi + 0x290]
cmp edx, dword [esi + 0x270]
je 0x4f6de3
cmp eax, ebx
jne 0x4f6e0d
mov eax, dword [esi + 0x288]
sub eax, dword [esi + 0x284]
cmp eax, dword [esi + 0x270]
jne 0x4f6e0d
push ebx
mov ecx, esi
mov byte [esi + 0x1bc], 1
call fcn.00408cd3
mov ecx, dword [esi + 0x268]
push esi
call fcn.00402d33
mov edx, dword [esi + 0x30]
mov eax, dword [edx + 4]
lea ecx, [esi + 0x30]
call eax
xor al, al
jmp 0x4f6e2f
cmp dword [esp + 0x24], 0x1f9ff
jne 0x4f6e2d
mov eax, dword [esp + 0x1fcf4]
cmp eax, ebx
je 0x4f6e2d
dec eax
push eax
mov ecx, esi
call fcn.00406384
jmp 0x4f6e2f
mov al, 1
mov ecx, dword [esp + 0x1fce4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1fccc]
xor ecx, esp
call fcn.00564b24
add esp, 0x1fcdc
ret 4