Function at 0x4231a0
Capabilities:
Access peb ldr_data
Get number of processors
Get process heap flags
Get process heap force flags
Initialize winhttp library
Prepare http request
Read http header
Receive http response

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x138
mov edx, dword [0x472090]
test edx, edx
je 0x426318
mov ebx, eax
mov eax, dword [sym.imp.winhttp.dll_WinHttpOpen]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.winetest
mov dword [ebp - 0x118], eax
call eax
sub esp, 0x14
mov edi, eax
mov dword [ebp - 0x104], eax
mov eax, 0xd42
mov esi, dword fs:[0x18]
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.00410490
movzx eax, bx
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, dword [sym.imp.winhttp.dll_WinHttpConnect]
mov dword [esp + 0xc], 0
mov dword [esp + 4], str.localhost
mov dword [ebp - 0x11c], eax
call eax
sub esp, 0x10
mov ebx, eax
mov dword [ebp - 0x108], eax
mov eax, 0xd45
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00410490
mov eax, dword [sym.imp.winhttp.dll_WinHttpOpenRequest]
mov dword [esp], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], str._websocket
mov dword [esp + 4], 0x439b8c
mov dword [ebp - 0x114], eax
call eax
mov ebx, eax
sub esp, 0x1c
mov eax, 0xd48
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00410490
mov eax, dword [sym.imp.winhttp.dll_WinHttpSetOption]
mov dword [esp], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x72
mov dword [ebp - 0x100], eax
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0xd4b
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp], edi
lea edi, [ebp - 0xcc]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0x40
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x10], eax
mov eax, dword [sym.imp.winhttp.dll_WinHttpQueryHeaders]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40
mov dword [esp], ebx
mov dword [ebp - 0xf4], eax
call eax
mov ecx, dword [esi + 0x34]
sub esp, 0x18
mov dword [ebp - 0xfc], eax
mov eax, 0xd51
mov dword [ebp - 0xf8], ecx
call fcn.0040fbc0
mov dword [esp + 4], str.success_n
xor eax, eax
mov edx, dword [ebp - 0xfc]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xd52
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf8]
xor eax, eax
mov dword [esp + 4], str.got__lu_n
cmp ecx, 0x2ef3
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 0x40
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
mov ecx, dword [esi + 0x34]
sub esp, 0x18
mov dword [ebp - 0xfc], eax
mov eax, 0xd58
mov dword [ebp - 0xf8], ecx
call fcn.0040fbc0
mov dword [esp + 4], str.success_n
xor eax, eax
mov edx, dword [ebp - 0xfc]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xd59
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf8]
xor eax, eax
mov dword [esp + 4], str.got__lu_n
cmp ecx, 0x2ef3
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xec], pe_nt_image_headers32
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0xec]
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x8c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], str.Sec_WebSocket_Key
mov dword [esp + 4], 0x8000ffff
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
mov ecx, dword [esi + 0x34]
sub esp, 0x18
mov dword [ebp - 0xfc], eax
mov eax, 0xd61
mov dword [ebp - 0xf8], ecx
call fcn.0040fbc0
mov dword [esp + 4], str.success_n
xor eax, eax
mov edx, dword [ebp - 0xfc]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xd62
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf8]
xor eax, eax
mov dword [esp + 4], str.got__lu_n
cmp ecx, 0x2f76
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xec], pe_nt_image_headers32
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0xec]
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x8c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], str.Sec_WebSocket_Version
mov dword [esp + 4], 0x8000ffff
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
mov ecx, dword [esi + 0x34]
sub esp, 0x18
mov dword [ebp - 0xfc], eax
mov eax, 0xd6a
mov dword [ebp - 0xf8], ecx
call fcn.0040fbc0
mov dword [esp + 4], str.success_n
xor eax, eax
mov edx, dword [ebp - 0xfc]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xd6b
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf8]
xor eax, eax
mov dword [esp + 4], str.got__lu_n
cmp ecx, 0x2f76
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
mov ecx, dword [sym.imp.winhttp.dll_WinHttpSendRequest]
mov dword [esp], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x110], ecx
call ecx
sub esp, 0x1c
mov dword [ebp - 0xf8], eax
mov eax, 0xd6e
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 0x40
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
mov ecx, dword [esi + 0x34]
sub esp, 0x18
mov dword [ebp - 0xfc], eax
mov eax, 0xd74
mov dword [ebp - 0xf8], ecx
call fcn.0040fbc0
mov dword [esp + 4], str.success_n
xor eax, eax
mov edx, dword [ebp - 0xfc]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xd75
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf8]
xor eax, eax
mov dword [esp + 4], str.got__lu_n
cmp ecx, 0x2ef3
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 0x40
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
mov ecx, dword [esi + 0x34]
sub esp, 0x18
mov dword [ebp - 0xfc], eax
mov eax, 0xd7b
mov dword [ebp - 0xf8], ecx
call fcn.0040fbc0
mov dword [esp + 4], str.success_n
xor eax, eax
mov edx, dword [ebp - 0xfc]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xd7c
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf8]
xor eax, eax
mov dword [esp + 4], str.got__lu_n
cmp ecx, 0x2ef3
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0xec], pe_nt_image_headers32
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0xec]
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x8c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], str.Sec_WebSocket_Key
mov dword [esp + 4], 0x8000ffff
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0xf8], eax
mov eax, 0xd83
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0xec], pe_nt_image_headers32
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0xec]
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x8c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], str.Sec_WebSocket_Version
mov dword [esp + 4], 0x8000ffff
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0xf8], eax
mov eax, 0xd8a
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
mov ecx, dword [sym.imp.winhttp.dll_WinHttpReceiveResponse]
mov dword [esp + 4], 0
mov dword [esp], ebx
mov dword [ebp - 0x120], ecx
call ecx
sub esp, 8
mov dword [ebp - 0xf8], eax
mov eax, 0xd8d
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xe4], 0xdeadbeef
mov dword [esp + 4], ecx
mov dword [esp], ebx
call dword [sym.imp.winhttp.dll_WinHttpQueryDataAvailable]
sub esp, 8
mov dword [ebp - 0xf8], eax
mov eax, 0xd91
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
mov eax, 0xd92
call fcn.0040fbc0
mov eax, dword [ebp - 0xe4]
mov dword [esp + 4], str.got__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xec]
xor eax, eax
mov dword [ebp - 0xec], 0x40
mov word [ebp - 0xcc], ax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0xf8], eax
mov eax, 0xd97
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
mov eax, 0xd98
call fcn.0040fbc0
mov eax, edi
shr eax, 0x10
mov dword [ebp - 0x10c], eax
je 0x426180
mov dword [esp + 4], 0xffffffff
mov esi, dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [esp], edi
call esi
mov edx, str._invalid_
sub esp, 8
test eax, eax
jne 0x423a61
mov edx, 0xffffffff
mov eax, edi
call fcn.0040f890
mov edx, eax
mov eax, dword [sym.imp.msvcrt.dll_wcscmp]
mov dword [ebp - 0xf8], edx
mov dword [esp + 4], str.websocket
mov dword [esp], edi
mov dword [ebp - 0xfc], eax
call eax
mov edx, dword [ebp - 0xf8]
mov dword [esp + 4], str.got__s_n
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00410490
xor eax, eax
mov dword [ebp - 0xec], 0x40
mov word [ebp - 0xcc], ax
lea eax, [ebp - 0xec]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0xf8], eax
mov eax, 0xd9d
call fcn.0040fbc0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
mov eax, 0xd9e
call fcn.0040fbc0
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call esi
mov esi, str._invalid_
sub esp, 8
test eax, eax
jne 0x423b4c
mov edx, 0xffffffff
mov eax, edi
call fcn.0040f890
mov esi, eax
mov dword [esp + 4], str.Upgrade
mov dword [esp], edi
mov eax, dword [ebp - 0xfc]
call eax
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], str.got__s_n
sete al
movzx eax, al
mov dword [esp], eax
mov esi, dword fs:[0x18]
call fcn.00410490
lea eax, [ebp - 0xec]
mov dword [ebp - 0xe0], 0xdeadbeef
mov dword [ebp - 0xec], 4
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xe0]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x20000013
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0xf8], eax
mov eax, 0xda4
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
mov eax, 0xda5
call fcn.0040fbc0
mov eax, dword [ebp - 0xe0]
mov dword [esp + 4], str.got__lu_n
cmp eax, 0x65
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xe8], 0xdeadbeef
mov dword [ebp - 0xec], 4
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0xe8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x20000005
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0xf8], eax
mov eax, 0xdab
call fcn.0040fbc0
mov dword [esp + 4], str.success_n
xor eax, eax
mov edx, dword [ebp - 0xf8]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xec], pe_nt_image_headers32
mov dword [esp + 0x14], ecx
lea ecx, [ebp - 0xec]
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x8c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], str.Sec_WebSocket_Accept
mov dword [esp + 4], 0xffff
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0xf8], eax
mov eax, 0xdb0
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x472090]
sub esp, 8
mov dword [ebp - 0xf8], eax
mov eax, 0xdb3
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
xor eax, eax
test edx, edx
setne al
mov dword [esp], eax
call fcn.00410490
lea edx, [ebp - 0xec]
mov dword [ebp - 0xec], 0x40
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40
mov ecx, dword [ebp - 0xf8]
mov dword [esp], ecx
mov eax, dword [ebp - 0xf4]
call eax
mov ecx, dword [esi + 0x34]
sub esp, 0x18
mov dword [ebp - 0x128], eax
mov eax, 0xdb8
mov dword [ebp - 0x124], ecx
call fcn.0040fbc0
mov dword [esp + 4], str.success_n
xor eax, eax
mov edx, dword [ebp - 0x128]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xdb9
call fcn.0040fbc0
mov ecx, dword [ebp - 0x124]
xor eax, eax
mov dword [esp + 4], str.got__lu_n
cmp ecx, 0x2ef2
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
xor ecx, ecx
mov dword [ebp - 0xec], 0x40
mov word [ebp - 0xcc], cx
lea ecx, [ebp - 0xec]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0x124], eax
mov eax, 0xdbe
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x124]
mov dword [esp], edx
call fcn.00410490
mov eax, 0xdbf
call fcn.0040fbc0
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x426088
mov dword [esp + 4], 0xffffffff
mov esi, dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [esp], edi
call esi
mov edx, str._invalid_
sub esp, 8
test eax, eax
jne 0x423ecc
mov edx, 0xffffffff
mov eax, edi
call fcn.0040f890
mov edx, eax
mov dword [ebp - 0x10c], edx
mov dword [esp + 4], str.websocket
mov dword [esp], edi
mov eax, dword [ebp - 0xfc]
call eax
mov edx, dword [ebp - 0x10c]
mov dword [esp + 4], str.got__s_n
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00410490
xor edx, edx
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0x40
mov word [ebp - 0xcc], dx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0x10c], eax
mov eax, 0xdc4
call fcn.0040fbc0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x10c]
mov dword [esp], edx
call fcn.00410490
mov eax, 0xdc5
call fcn.0040fbc0
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call esi
mov esi, str._invalid_
sub esp, 8
test eax, eax
jne 0x423fb2
mov edx, 0xffffffff
mov eax, edi
call fcn.0040f890
mov esi, eax
mov dword [esp], edi
mov dword [esp + 4], str.Upgrade
mov eax, dword [ebp - 0xfc]
call eax
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], str.got__s_n
sete al
movzx eax, al
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.00410490
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xec], pe_nt_image_headers32
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xec]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.Sec_WebSocket_Accept
mov dword [esp + 4], 0xffff
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov esi, eax
mov eax, 0xdca
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x110]
call eax
sub esp, 0x1c
mov esi, eax
mov eax, 0xdce
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 4], 0
call dword [0x472090]
sub esp, 8
mov esi, eax
mov eax, 0xdd2
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xdd3
call fcn.0040fbc0
mov dword [esp + 4], str.got_same_socket_n
xor eax, eax
cmp dword [ebp - 0xf8], esi
setne al
mov dword [esp], eax
call fcn.00410490
mov ecx, dword [ebp - 0x108]
mov eax, dword [sym.imp.winhttp.dll_WinHttpCloseHandle]
mov dword [esp], ecx
mov dword [ebp - 0x108], eax
call eax
mov eax, dword [sym.imp.winhttp.dll_WinHttpQueryOption]
lea edx, [ebp - 0xec]
mov dword [ebp - 0xec], 4
sub esp, 4
mov dword [esp + 0xc], edx
lea edx, [ebp - 0xd4]
mov dword [esp + 8], edx
mov dword [esp], ebx
mov dword [esp + 4], 0x2d
mov dword [ebp - 0xfc], eax
call eax
sub esp, 0x10
mov dword [ebp - 0x10c], eax
mov eax, 0xdd9
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x10c]
mov dword [esp], ecx
call fcn.00410490
mov dword [esp], esi
mov ecx, dword [ebp - 0x108]
call ecx
sub esp, 4
mov esi, eax
mov eax, 0xddc
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov esi, dword [ebp - 0xf8]
mov dword [esp], esi
mov ecx, dword [ebp - 0x108]
call ecx
sub esp, 4
mov esi, eax
mov eax, 0xddf
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0xec]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
lea edx, [ebp - 0xd4]
mov dword [esp], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0x2d
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0xde2
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov esi, dword [ebp - 0x104]
mov dword [esp], esi
mov ecx, dword [ebp - 0x108]
call ecx
sub esp, 4
mov esi, eax
mov eax, 0xde5
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0xec]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
lea edx, [ebp - 0xd4]
mov dword [esp], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0x2d
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0xde8
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov dword [esp], ebx
mov ecx, dword [ebp - 0x108]
call ecx
sub esp, 4
mov ebx, eax
mov eax, 0xdeb
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.winetest
mov esi, dword [ebp - 0x118]
call esi
sub esp, 0x14
mov ebx, eax
mov eax, 0xdee
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.ws.ifelse.io
mov esi, dword [ebp - 0x11c]
call esi
sub esp, 0x10
mov esi, eax
mov eax, 0xdf1
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [ebp - 0x10c], esi
lea esi, [ebp - 0xd8]
mov dword [esp], eax
call fcn.00410490
lea edx, [ebp - 0xec]
mov dword [ebp - 0xec], 0xdeadbeef
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov dword [ebp - 0x104], ebx
mov dword [esp], ebx
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0xdf5
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov eax, 0xdf6
call fcn.0040fbc0
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], str.got__lu._n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xdf7
call fcn.0040fbc0
mov eax, dword [ebp - 0xd8]
mov dword [esp + 4], str.got__lu._n
cmp eax, 0x8000
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov dword [ebp - 0xd8], 0xffff
mov dword [esp + 0xc], 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov ebx, dword [ebp - 0x104]
mov dword [esp], ebx
mov edx, dword [ebp - 0x100]
call edx
sub esp, 0x10
mov ebx, eax
mov eax, 0xdfb
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 0xdeadbeef
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov ebx, dword [ebp - 0x104]
mov dword [esp], ebx
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0xdff
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov eax, 0xe00
call fcn.0040fbc0
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], str.got__lu._n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe01
call fcn.0040fbc0
mov eax, dword [ebp - 0xd8]
mov dword [esp + 4], str.got__lu._n
cmp eax, 0x8000
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov dword [ebp - 0xd8], 0xf
mov dword [esp + 0xc], 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov ebx, dword [ebp - 0x104]
mov dword [esp], ebx
mov edx, dword [ebp - 0x100]
call edx
sub esp, 0x10
mov ebx, eax
mov eax, 0xe05
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x43b374
mov dword [esp + 4], 0x439b8c
mov ecx, dword [ebp - 0x10c]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x114]
call ecx
sub esp, 0x1c
mov ebx, eax
mov dword [ebp - 0xf8], eax
mov eax, 0xe08
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 0xdeadbeef
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov ebx, dword [ebp - 0x104]
mov dword [esp], ebx
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0xe0c
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00410490
mov eax, 0xe0d
call fcn.0040fbc0
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], str.got__lu._n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe0e
call fcn.0040fbc0
mov edx, dword [ebp - 0xd8]
mov eax, 1
cmp edx, 0xffff
je 0x4246fa
mov ebx, dword [0x4720d0]
test ebx, ebx
sete cl
xor eax, eax
cmp edx, 0x7a
sete al
and eax, ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.got__lu._n
call fcn.00410490
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xec], 0xdeadbeef
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0xec]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0xe14
call fcn.0040fbc0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00410490
mov eax, 0xe15
call fcn.0040fbc0
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], str.got__lu._n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe16
call fcn.0040fbc0
mov edx, dword [ebp - 0xd8]
mov eax, 1
cmp edx, 0xffff
je 0x4247d6
mov ecx, dword [0x4720d0]
test ecx, ecx
sete cl
xor eax, eax
cmp edx, 0x7a
sete al
and eax, ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.got__lu._n
mov edi, dword fs:[0x18]
call fcn.00410490
mov dword [ebp - 0xd8], 0x100000
mov dword [esp + 0xc], 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0xe1a
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0xdeadbeef
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov eax, dword [ebp - 0x104]
mov dword [esp], eax
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0xe1e
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00410490
mov eax, 0xe1f
call fcn.0040fbc0
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], str.got__lu._n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe20
call fcn.0040fbc0
mov edx, dword [ebp - 0xd8]
mov eax, 1
cmp edx, 0xffff
je 0x4248fb
mov eax, dword [0x4720d0]
test eax, eax
sete cl
xor eax, eax
cmp edx, 0x7a
sete al
and eax, ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.got__lu._n
mov ebx, dword fs:[0x18]
call fcn.00410490
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0xdeadbeef
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0xe24
call fcn.0040fbc0
mov eax, dword [ebx + 0x34]
mov dword [esp], edi
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov eax, 0xe25
call fcn.0040fbc0
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], str.got__lu._n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe26
call fcn.0040fbc0
mov eax, dword [ebp - 0xd8]
mov dword [esp + 4], str.got__lu._n
cmp eax, 0x100000
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 0xdeadbeef
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov edi, dword [ebp - 0x10c]
mov dword [esp], edi
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0xe2a
call fcn.0040fbc0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00410490
mov edi, dword [0x4720d0]
call fcn.00431c30
xor ecx, ecx
mov edx, eax
mov eax, dword [eax + 0x10]
mov dword [edx + 0x14], 1
add eax, eax
test edi, edi
setne cl
or eax, ecx
mov dword [edx + 0x10], eax
jmp 0x424a8d
call fcn.00431c30
mov dword [eax], 0x438e8a
mov dword [eax + 4], 0xe2b
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x2ef2
sete al
mov dword [esp], eax
call fcn.00410490
call fcn.00431c30
shr dword [eax + 0x10], 1
call fcn.00431c30
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x424a50
mov dword [ebp - 0xec], 0xdeadbeef
lea eax, [ebp - 0xec]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0xe2f
call fcn.0040fbc0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00410490
mov eax, 0xe30
call fcn.0040fbc0
mov eax, dword [ebp - 0xec]
mov dword [esp + 4], str.got__lu._n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe31
call fcn.0040fbc0
mov edx, dword [ebp - 0xd8]
mov eax, 1
cmp edx, 0xf
je 0x424b58
mov eax, dword [0x4720d0]
test eax, eax
sete cl
xor eax, eax
cmp edx, 0x7b
sete al
and eax, ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.got__lu._n
call fcn.00410490
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0x74
mov eax, dword [ebp - 0x104]
mov dword [esp], eax
mov edi, dword [ebp - 0xfc]
call edi
sub esp, 0x10
mov ebx, eax
mov eax, 0xe35
call fcn.0040fbc0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.00410490
mov eax, 0xe36
call fcn.0040fbc0
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0x74
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call edi
sub esp, 0x10
mov edi, eax
mov eax, 0xe3a
call fcn.0040fbc0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe3b
call fcn.0040fbc0
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00410490
mov dword [ebp - 0xd8], 0x4e20
mov dword [esp + 0xc], 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0x74
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0xe3f
call fcn.0040fbc0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00410490
mov edi, dword [0x4720d0]
call fcn.00431c30
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test edi, edi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x424d3d
call fcn.00431c30
mov dword [eax], 0x438e8a
mov dword [eax + 4], 0xe40
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x2ef2
sete al
mov dword [esp], eax
call fcn.00410490
call fcn.00431c30
shr dword [eax + 0x10], 1
call fcn.00431c30
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x424d00
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x72
mov eax, dword [ebp - 0xf8]
mov edi, dword fs:[0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0xe43
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00410490
cmp dword [ebp - 0x114], 0x7a
jne 0x426278
mov dword [ebp - 0xd8], 0x10
mov dword [esp + 0xc], 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov eax, dword [ebp - 0xf8]
mov edi, dword fs:[0x18]
mov dword [esp], eax
mov ecx, dword [ebp - 0x100]
call ecx
sub esp, 0x10
mov ebx, eax
mov eax, 0xe4f
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov ebx, dword [ebp - 0x110]
call ebx
sub esp, 0x1c
mov ebx, eax
mov eax, 0xe52
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov dword [ebp - 0xd8], 0xf
mov dword [esp + 0xc], 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x100]
call ecx
sub esp, 0x10
mov ebx, eax
mov eax, 0xe56
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov ebx, dword [ebp - 0x120]
call ebx
sub esp, 8
mov ebx, eax
mov eax, 0xe59
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
lea ebx, [ebp - 0xe0]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xe0], 0xdeadbeef
mov dword [ebp - 0xec], 4
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x20000013
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
call ecx
sub esp, 0x18
mov ebx, eax
mov eax, 0xe5f
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
call fcn.00410490
mov eax, 0xe60
call fcn.0040fbc0
mov eax, dword [ebp - 0xe0]
mov dword [esp + 4], str.got__lu_n
cmp eax, 0x65
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call dword [0x472090]
sub esp, 8
mov ebx, eax
mov eax, 0xe63
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov dword [esp], ebx
mov eax, dword [ebp - 0xfc]
call eax
sub esp, 0x10
mov dword [ebp - 0xf4], eax
mov eax, 0xe67
call fcn.0040fbc0
mov edx, dword [ebp - 0xf4]
xor eax, eax
mov dword [esp + 4], str.got__d_n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00410490
mov ecx, dword [0x4720d0]
mov dword [ebp - 0xf4], ecx
call fcn.00431c30
mov ecx, dword [ebp - 0xf4]
mov edx, eax
mov eax, dword [eax + 0x10]
mov dword [edx + 0x14], 1
add eax, eax
test ecx, ecx
setne cl
movzx ecx, cl
or eax, ecx
mov dword [edx + 0x10], eax
jmp 0x4250c5
call fcn.00431c30
mov dword [eax], 0x438e8a
mov dword [eax + 4], 0xe68
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x2ef2
sete al
mov dword [esp], eax
call fcn.00410490
call fcn.00431c30
shr dword [eax + 0x10], 1
call fcn.00431c30
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x425088
mov dword [ebp - 0xd8], 0xffff
mov dword [esp + 0xc], 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7a
mov dword [esp], ebx
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0xe6c
call fcn.0040fbc0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00410490
mov edi, dword [0x4720d0]
call fcn.00431c30
xor ecx, ecx
mov edx, eax
mov eax, dword [eax + 0x10]
mov dword [edx + 0x14], 1
add eax, eax
test edi, edi
setne cl
or eax, ecx
mov dword [edx + 0x10], eax
mov edi, dword fs:[0x18]
jmp 0x42519d
call fcn.00431c30
mov dword [eax], 0x438e8a
mov dword [eax + 4], 0xe6d
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x2ef2
sete al
mov dword [esp], eax
call fcn.00410490
call fcn.00431c30
shr dword [eax + 0x10], 1
call fcn.00431c30
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x425160
mov dword [esp + 0xc], 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov dword [esp], ebx
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0xe70
call fcn.0040fbc0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00410490
mov edi, dword [0x4720d0]
call fcn.00431c30
xor ecx, ecx
mov edx, eax
mov eax, dword [eax + 0x10]
mov dword [edx + 0x14], 1
add eax, eax
test edi, edi
setne cl
or eax, ecx
mov dword [edx + 0x10], eax
mov edi, dword fs:[0x18]
jmp 0x42526d
call fcn.00431c30
mov dword [eax], 0x438e8a
mov dword [eax + 4], 0xe71
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x2ef2
sete al
mov dword [esp], eax
call fcn.00410490
call fcn.00431c30
shr dword [eax + 0x10], 1
call fcn.00431c30
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x425230
mov dword [ebp - 0x110], edx
mov dword [ebp - 0xd8], 0x4e20
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 0xc], 2
mov dword [esp + 4], 0x74
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0xe75
call fcn.0040fbc0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.00410490
mov eax, 0xe76
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00410490
mov dword [ebp - 0xd8], 0x4e20
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 0xc], 8
mov dword [esp + 4], 0x74
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov dword [ebp - 0xf4], eax
mov eax, 0xe7a
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov dword [esp + 4], str.got__d_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe7b
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00410490
mov dword [edi + 0x34], 0xdeadbeef
mov dword [ebp - 0xd8], 0x4e20
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0x74
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov dword [ebp - 0xf4], eax
mov eax, 0xe80
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0xf4]
mov dword [esp], ecx
call fcn.00410490
mov eax, 0xe81
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov ecx, dword [edi + 0x34]
xor eax, eax
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.00410490
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 4
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 0x74
mov ecx, dword [ebp - 0xfc]
call ecx
sub esp, 0x10
mov dword [ebp - 0xf4], eax
mov eax, 0xe85
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov dword [esp + 4], str.got__d_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe86
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00410490
lea edx, [ebp - 0xec]
mov dword [ebp - 0xec], 0
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x74
mov ecx, dword [ebp - 0xfc]
call ecx
sub esp, 0x10
mov dword [ebp - 0xf4], eax
mov eax, 0xe8a
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov dword [esp + 4], str.got__d_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe8b
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00410490
mov dword [ebp - 0xd8], 0x2710
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0x74
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov dword [ebp - 0xf4], eax
mov eax, 0xe8f
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov dword [esp + 4], str.got__d_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe90
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00410490
mov dword [ebp - 0xd8], 0x2710
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 0xc], 2
mov dword [esp + 4], 0x74
mov eax, dword [ebp - 0x100]
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0xe94
call fcn.0040fbc0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe95
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0xd0]
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xd0], 0xdeadbeef
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xe4]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], eax
call dword [0x472088]
sub esp, 0x14
mov esi, eax
mov eax, 0xe9b
call fcn.0040fbc0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe9c
call fcn.0040fbc0
movsx ecx, byte [ebp - 0x8c]
mov dword [esp + 4], str.got__c_n
cmp cl, 0x52
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe9d
call fcn.0040fbc0
mov dword [esp + 4], str.got_zero_count_n
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe9e
call fcn.0040fbc0
mov eax, dword [ebp - 0xd0]
mov dword [esp + 4], str.got__u_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call dword [0x472084]
sub esp, 0x10
mov esi, eax
mov eax, 0xea1
call fcn.0040fbc0
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov dword [esp + 8], 0x100
mov dword [esp + 4], 8
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [eax], 0x6c6c6568
mov esi, eax
mov eax, 0x6f
sub esp, 0xc
mov word [esi + 4], ax
mov eax, 0x64
mov dword [esi + 0x80], 0x6c726f77
mov word [esi + 0x84], ax
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 0xc], 0x100
mov dword [esp + 4], 0
call dword [0x472084]
sub esp, 0x10
mov dword [ebp - 0xf4], eax
mov eax, 0xea7
call fcn.0040fbc0
mov ecx, dword [ebp - 0xf4]
xor eax, eax
mov dword [esp + 4], str.got__lu_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00410490
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call dword [0x472088]
sub esp, 0x14
mov esi, eax
mov eax, 0xeab
call fcn.0040fbc0
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call dword [0x472088]
sub esp, 0x14
mov esi, eax
mov eax, 0xeae
call fcn.0040fbc0
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
call dword [0x472088]
sub esp, 0x14
mov esi, eax
mov eax, 0xeb1
call fcn.0040fbc0
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0xd0]
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xd0], 0xdeadbeef
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xe4]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], eax
call dword [0x472088]
sub esp, 0x14
mov esi, eax
mov eax, 0xeb7
call fcn.0040fbc0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov eax, 0xeb8
call fcn.0040fbc0
movsx ecx, byte [ebp - 0x8c]
mov dword [esp + 4], str.got__c_n
cmp cl, 0x68
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xeb9
call fcn.0040fbc0
mov eax, dword [ebp - 0xe4]
mov dword [esp + 4], str.got__lu_n
cmp eax, 0x80
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xeba
call fcn.0040fbc0
mov eax, dword [ebp - 0xd0]
mov dword [esp + 4], str.got__u_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0xd0]
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xd0], 0xdeadbeef
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xe4]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], eax
call dword [0x472088]
sub esp, 0x14
mov esi, eax
mov eax, 0xec0
call fcn.0040fbc0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov eax, 0xec1
call fcn.0040fbc0
movsx ecx, byte [ebp - 0x8c]
mov dword [esp + 4], str.got__c_n
cmp cl, 0x77
mov dword [esp + 8], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xec2
call fcn.0040fbc0
mov eax, dword [ebp - 0xe4]
mov dword [esp + 4], str.got__lu_n
cmp eax, 0x80
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xec3
call fcn.0040fbc0
mov eax, dword [ebp - 0xd0]
mov dword [esp + 4], str.got__u_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3e8
call dword [0x472080]
sub esp, 0x10
mov esi, eax
mov eax, 0xec6
call fcn.0040fbc0
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 8], eax
mov dword [esp + 4], 0x3e8
call dword [0x472080]
sub esp, 0x10
mov esi, eax
mov eax, 0xec9
call fcn.0040fbc0
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 0xc], 8
mov dword [esp + 8], str.success
mov dword [esp + 4], 0x3e8
call dword [0x472080]
sub esp, 0x10
mov esi, eax
mov eax, 0xecd
call fcn.0040fbc0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3e8
call dword [0x472094]
sub esp, 0x10
mov esi, eax
mov eax, 0xed0
call fcn.0040fbc0
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 8], eax
mov dword [esp + 4], 0x3e8
call dword [0x472094]
sub esp, 0x10
mov esi, eax
mov eax, 0xed3
call fcn.0040fbc0
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 0xc], 9
mov dword [esp + 8], str.success2
mov dword [esp + 4], 0x3e8
call dword [0x472094]
sub esp, 0x10
mov esi, eax
mov eax, 0xed7
call fcn.0040fbc0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call dword [0x47208c]
sub esp, 0x14
mov esi, eax
mov eax, 0xeda
call fcn.0040fbc0
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
lea esi, [ebp - 0xee]
mov dword [esp], eax
call fcn.00410490
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call dword [0x47208c]
sub esp, 0x14
mov edi, eax
mov eax, 0xedd
call fcn.0040fbc0
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
call dword [0x47208c]
sub esp, 0x14
mov edi, eax
mov eax, 0xee0
call fcn.0040fbc0
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 8], eax
call dword [0x47208c]
sub esp, 0x14
mov edi, eax
mov eax, 0xee3
call fcn.0040fbc0
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0xe8]
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call dword [0x47208c]
sub esp, 0x14
mov edi, eax
mov eax, 0xee6
call fcn.0040fbc0
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0xe8]
mov dword [ebp - 0xe8], 0xdeadbeef
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call dword [0x47208c]
sub esp, 0x14
mov edi, eax
mov eax, 0xeea
call fcn.0040fbc0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov eax, 0xeeb
call fcn.0040fbc0
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.got__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
lea eax, [ebp - 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
call dword [0x47208c]
sub esp, 0x14
mov edi, eax
mov eax, 0xeee
call fcn.0040fbc0
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__lu_n
lea edi, [ebp - 0x8c]
mov dword [esp], eax
call fcn.00410490
mov eax, 0xffffdead
mov ecx, 0x20
mov dword [ebp - 0xe8], 0xdeadbeef
mov word [ebp - 0xee], ax
mov eax, dword [ebp - 0x110]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xe8]
mov dword [esp + 4], esi
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x8c]
mov dword [esp], ebx
mov dword [esp + 0xc], pe_nt_image_headers32
mov dword [esp + 8], eax
call dword [0x47208c]
sub esp, 0x14
mov esi, eax
mov eax, 0xef4
call fcn.0040fbc0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00410490
mov eax, 0xef5
call fcn.0040fbc0
movzx edx, word [ebp - 0xee]
mov dword [esp + 4], str.got__d_n
cmp dx, 0x3e8
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov eax, 0xef6
call fcn.0040fbc0
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.got__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00410490
mov dword [esp], ebx
mov esi, dword [ebp - 0x108]
call esi
mov eax, dword [ebp - 0xf8]
sub esp, 4
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0x10c]
sub esp, 4
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0x104]
sub esp, 4
mov dword [esp], eax
call esi
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ecx, di
mov dword [esp + 4], ecx
mov dword [ebp - 0x124], ecx
mov dword [esp], str._04x
call fcn.0040f510
mov dword [ebp - 0x10c], eax
mov dword [esp + 4], str.websocket
mov dword [esp], edi
mov eax, dword [ebp - 0xfc]
call eax
mov edx, dword [ebp - 0x10c]
mov dword [esp + 4], str.got__s_n
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00410490
xor eax, eax
mov dword [ebp - 0xec], 0x40
mov word [ebp - 0xcc], ax
lea eax, [ebp - 0xec]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0x10c], eax
mov eax, 0xdc4
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x10c]
mov dword [esp], edx
call fcn.00410490
mov eax, 0xdc5
call fcn.0040fbc0
mov ecx, dword [ebp - 0x124]
mov dword [esp], str._04x
mov dword [esp + 4], ecx
call fcn.0040f510
mov esi, eax
jmp 0x423fb2
movzx ecx, di
mov dword [esp + 4], ecx
mov dword [ebp - 0x124], ecx
mov dword [esp], str._04x
call fcn.0040f510
mov dword [ebp - 0xf8], eax
mov eax, dword [sym.imp.msvcrt.dll_wcscmp]
mov dword [esp + 4], str.websocket
mov dword [esp], edi
mov dword [ebp - 0xfc], eax
call eax
mov edx, dword [ebp - 0xf8]
mov dword [esp + 4], str.got__s_n
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00410490
xor eax, eax
mov dword [ebp - 0xec], 0x40
mov word [ebp - 0xcc], ax
lea eax, [ebp - 0xec]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x17
mov dword [esp], ebx
mov eax, dword [ebp - 0xf4]
call eax
sub esp, 0x18
mov dword [ebp - 0xf8], eax
mov eax, 0xd9d
call fcn.0040fbc0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0xf8]
mov dword [esp], edx
call fcn.00410490
mov eax, 0xd9e
call fcn.0040fbc0
mov ecx, dword [ebp - 0x124]
mov dword [esp], str._04x
mov dword [esp + 4], ecx
call fcn.0040f510
mov esi, eax
jmp 0x423b4c
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
mov eax, dword [ebp - 0x110]
call eax
sub esp, 0x1c
mov ebx, eax
mov eax, 0xe49
call fcn.0040fbc0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00410490
mov eax, 0xe4a
call fcn.0040fbc0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 8
sete al
mov dword [esp], eax
call fcn.00410490
jmp 0x424db3
mov eax, 0xd3d
call fcn.0040fbc0
mov dword [esp], str.WinHttpWebSocketCompleteUpgrade_not_supported_n
call fcn.00410460
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret