Function at 0x44ee60
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x576fc5
mov eax, dword fs:[0]
push eax
mov eax, 0x23b8
call fcn.00550120
mov eax, dword [0x5edb24]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2364], edi
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2360], 0
mov dword [ebp - 0x236c], eax
mov word [edi + 4], 0
mov byte [edi + 6], 0
mov dword [ebp - 0x2374], 0
mov dword [ebp - 0x234c], 0
call fcn.00457ba0
push eax
call fcn.00453290
add esp, 4
mov dword [ebp - 0x239c], eax
test eax, eax
je 0x44f119
push 0x2020000
push eax
call fcn.00453730
xorps xmm0, xmm0
mov dword [ebp - 0x2248], 0
movq qword [ebp - 0x2250], xmm0
add esp, 8
mov dword [ebp - 0x2250], 0
mov dword [ebp - 0x224c], 0
mov dword [ebp - 0x2248], 0
mov dword [ebp - 4], 0
movq qword [ebp - 0x2244], xmm0
mov dword [ebp - 0x223c], 0
mov dword [ebp - 0x2244], 0
mov dword [ebp - 0x2240], 0
mov dword [ebp - 0x223c], 0
mov ecx, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x2394], 0
mov dword [ebp - 0x2384], 0
mov dword [ebp - 0x2380], 0xf
mov byte [ebp - 0x2394], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44ef90
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x2394]
call fcn.0044d110
lea eax, [ebp - 0x2250]
mov byte [ebp - 4], 2
push 0x32
push eax
mov dl, 0x2f
lea ecx, [ebp - 0x2394]
call fcn.0044e330
mov byte [ebp - 4], 1
add esp, 8
mov edx, dword [ebp - 0x2380]
cmp edx, 0x10
jb 0x44f001
mov ecx, dword [ebp - 0x2394]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44eff7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov ecx, dword [ebp - 0x224c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2250]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jae 0x44f138
mov ecx, dword [ebp - 0x2244]
test ecx, ecx
je 0x44f0b7
mov edx, dword [ebp - 0x2240]
push ecx
call fcn.0044e000
mov ecx, dword [ebp - 0x223c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2244]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x44f089
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push ecx
push esi
call fcn.0054fe89
mov esi, dword [ebp - 0x2250]
add esp, 8
mov dword [ebp - 0x2244], 0
mov dword [ebp - 0x2240], 0
mov dword [ebp - 0x223c], 0
test esi, esi
je 0x44f119
mov edx, dword [ebp - 0x224c]
push ecx
mov ecx, esi
call fcn.0044e000
mov ecx, dword [ebp - 0x2248]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2250]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x44f10f
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push ecx
push esi
call fcn.0054fe89
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0054fc49
mov esp, ebp
pop ebp
ret 8
lea eax, [eax + eax*2]
xor ecx, ecx
lea eax, [eax - 3]
mov dword [ebp - 0x18], ecx
lea eax, [esi + eax*8]
mov word [ebp - 0x14], cx
xorps xmm0, xmm0
mov byte [ebp - 0x12], cl
push eax
lea ecx, [ebp - 0x2298]
movlpd qword [ebp - 0x237c], xmm0
call fcn.0044c340
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2268]
push 0
mov dword [ebp - 0x2268], 0
push 0x5e56eb
mov dword [ebp - 0x2258], 0
mov dword [ebp - 0x2254], 0xf
mov byte [ebp - 0x2268], 0
call fcn.0044d110
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2280]
push 0
mov dword [ebp - 0x2280], 0
push 0x5e56eb
mov dword [ebp - 0x2270], 0
mov dword [ebp - 0x226c], 0xf
mov byte [ebp - 0x2280], 0
call fcn.0044d110
push 0xb0
lea eax, [ebp - 0x2348]
push 0
push eax
call fcn.005519b0
add esp, 0xc
mov dword [ebp - 0x2348], 0x5e5820
mov dword [ebp - 0x22d8], 0
mov dword [ebp - 0x22b8], 0
mov dword [ebp - 0x22b4], 0
mov dword [ebp - 0x22b0], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x22e0]
mov eax, 1
mov dword [ebp - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0x2368], eax
mov dword [ebp - 0x2360], eax
lea eax, [ebp - 0x2344]
push 0
push eax
mov dword [ebp - 0x22e4], 0x60
call fcn.0044d750
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x2348]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x2348]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x234c], eax
lea ecx, [ebp - 0x2344]
call fcn.0044d4e0
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x2250]
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x44f2ac
mov ecx, dword [eax]
cmp dword [eax + 0x10], 6
jne 0x44f301
mov eax, dword [ecx]
mov edx, str.https:
mov esi, 2
cmp eax, dword [edx]
jne 0x44f2cd
add ecx, 4
mov esi, 0xfffffffe
add edx, 4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44f2f4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44f2f4
cmp esi, 0xfffffffe
je 0x44f2f0
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44f2f4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44f2f4
xor eax, eax
jmp 0x44f2f9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x44f301
mov byte [edi + 4], 1
push 4
mov dword [ebp - 0x2238], 0
lea ecx, [ebp - 0x2238]
push str.GET
mov dword [ebp - 0x2228], 0
mov dword [ebp - 0x2224], 0xf
mov byte [ebp - 0x2238], 0
call fcn.0044d110
mov byte [ebp - 4], 0xa
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x224c]
sub ecx, dword [ebp - 0x2250]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 3
jle 0x44f47b
mov esi, 0x48
mov dword [ebp - 0x2354], esi
lea edi, [esi - 0x45]
mov edx, dword [ebp - 0x2224]
mov eax, edx
mov ecx, dword [ebp - 0x2228]
sub eax, ecx
cmp eax, 1
jb 0x44f3a6
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x2228], eax
lea eax, [ebp - 0x2238]
cmovae eax, dword [ebp - 0x2238]
mov word [eax + ecx], 0x2f
jmp 0x44f3c4
push 0x2f
push 1
mov byte [ebp - 0x2360], 0
lea ecx, [ebp - 0x2238]
push dword [ebp - 0x2360]
push 1
call fcn.0044dc00
mov ecx, dword [ebp - 0x2250]
add ecx, esi
mov edx, ecx
cmp dword [ecx + 0x14], 0x10
jb 0x44f3d6
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x2224]
mov esi, dword [ebp - 0x2228]
sub eax, esi
mov dword [ebp - 0x2358], ecx
push ecx
push edx
cmp ecx, eax
ja 0x44f427
cmp dword [ebp - 0x2224], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x2228], eax
lea eax, [ebp - 0x2238]
cmovae eax, dword [ebp - 0x2238]
add esi, eax
push esi
call fcn.00551430
mov eax, dword [ebp - 0x2358]
add esp, 0xc
mov byte [eax + esi], 0
jmp 0x44f440
mov byte [ebp - 0x2370], 0
push dword [ebp - 0x2370]
push ecx
lea ecx, [ebp - 0x2238]
call fcn.0044dea0
mov ecx, dword [ebp - 0x224c]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x2250]
inc edi
mov esi, dword [ebp - 0x2354]
imul ecx
add esi, 0x18
sar edx, 2
mov eax, edx
mov dword [ebp - 0x2354], esi
shr eax, 0x1f
add eax, edx
cmp edi, eax
jl 0x44f370
mov edi, dword [ebp - 0x2364]
mov edx, dword [ebp - 0x2224]
mov eax, edx
mov ecx, dword [ebp - 0x2228]
sub eax, ecx
push 0x11
push str._HTTP_1.1_r_nHost:
cmp eax, 0x11
jb 0x44f4c1
cmp edx, 0x10
lea esi, [ebp - 0x2238]
lea eax, [ecx + 0x11]
cmovae esi, dword [ebp - 0x2238]
add esi, ecx
mov dword [ebp - 0x2228], eax
push esi
call fcn.00551430
add esp, 0xc
mov byte [esi + 0x11], 0
jmp 0x44f4db
mov byte [ebp - 0x2360], 0
lea ecx, [ebp - 0x2238]
push dword [ebp - 0x2360]
push 0x11
call fcn.0044dea0
mov eax, dword [ebp - 0x2250]
cmp dword [eax + 0x44], 0x10
lea edx, [eax + 0x30]
jb 0x44f4ed
mov edx, dword [eax + 0x30]
mov ecx, dword [eax + 0x40]
mov eax, dword [ebp - 0x2224]
mov esi, dword [ebp - 0x2228]
sub eax, esi
mov dword [ebp - 0x2360], ecx
push ecx
push edx
cmp ecx, eax
ja 0x44f53e
cmp dword [ebp - 0x2224], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x2228], eax
lea eax, [ebp - 0x2238]
cmovae eax, dword [ebp - 0x2238]
add esi, eax
push esi
call fcn.00551430
mov eax, dword [ebp - 0x2360]
add esp, 0xc
mov byte [eax + esi], 0
jmp 0x44f557
mov byte [ebp - 0x2360], 0
push dword [ebp - 0x2360]
push ecx
lea ecx, [ebp - 0x2238]
call fcn.0044dea0
mov edx, dword [ebp - 0x2224]
mov eax, edx
mov ecx, dword [ebp - 0x2228]
sub eax, ecx
push 0x1c
push str._r_nConnection:_Keep_Alive_r_n_r_n
cmp eax, 0x1c
jb 0x44f59d
cmp edx, 0x10
lea esi, [ebp - 0x2238]
lea eax, [ecx + 0x1c]
cmovae esi, dword [ebp - 0x2238]
add esi, ecx
mov dword [ebp - 0x2228], eax
push esi
call fcn.00551430
add esp, 0xc
mov byte [esi + 0x1c], 0
jmp 0x44f5b7
mov byte [ebp - 0x2360], 0
lea ecx, [ebp - 0x2238]
push dword [ebp - 0x2360]
push 0x1c
call fcn.0044dea0
mov eax, dword [ebp - 0x2250]
add eax, 0x30
cmp dword [eax + 0x14], 0x10
jb 0x44f5c8
mov eax, dword [eax]
push 0x7f
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.00558340
lea eax, [ebp - 0x118]
push 0x5e58b0
push eax
call fcn.005596bf
add esp, 0x14
test eax, eax
je 0x44f620
push 0x7f
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00558340
push 0x5e58b0
push 0
call fcn.005596bf
add esp, 0x14
test eax, eax
je 0x44f620
push 6
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00558340
add esp, 0xc
lea ecx, [ebp - 0x98]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44f630
sub ecx, edx
jne 0x44f65e
mov eax, dword [ebp - 0x2250]
add eax, 0x30
cmp dword [eax + 0x14], 0x10
jb 0x44f64c
mov eax, dword [eax]
push 0x7f
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00558340
add esp, 0xc
lea ecx, [ebp - 0x18]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44f664
sub ecx, edx
jne 0x450b7f
mov cl, byte [edi + 4]
xor eax, eax
test cl, cl
mov edx, 0x5e58b4
setne al
add eax, 3
test cl, cl
push eax
mov eax, 0x5e58b8
cmovne eax, edx
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00558340
mov eax, dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x23c4], eax
mov eax, dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x2360], eax
mov eax, dword [ebp - 0x2378]
mov dword [ebp - 0x2358], eax
mov eax, dword [ebp - 0x237c]
mov dword [ebp - 0x2370], eax
add esp, 0xc
nop dword [eax + eax]
cmp byte [edi + 4], 0
mov esi, dword [ebp - 0x2228]
je 0x44f828
mov eax, dword [ebp - 0x234c]
test eax, eax
je 0x44f6ff
push 1
push eax
call fcn.00455470
add esp, 8
mov dword [ebp - 0x234c], 0
mov eax, dword [ebp - 0x2374]
test eax, eax
je 0x44f712
push eax
call fcn.0048b960
add esp, 4
push dword [ebp - 0x239c]
call fcn.00457b10
add esp, 4
mov dword [ebp - 0x2374], eax
test eax, eax
je case.0x450b39.6
push 0x100
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005519b0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x98]
push eax
push str._s:_s
lea eax, [ebp - 0x218]
push 0xff
push eax
call fcn.0044ed20
lea eax, [ebp - 0x218]
push eax
push 0
push 0x64
push dword [ebp - 0x2374]
call fcn.0048b7a0
add esp, 0x30
cmp eax, 1
jne case.0x450b39.6
lea eax, [ebp - 0x234c]
push eax
push 0
push 0x6e
push dword [ebp - 0x2374]
call fcn.0048b7a0
mov eax, dword [ebp - 0x234c]
add esp, 0x10
test eax, eax
je case.0x450b39.6
lea ecx, [ebp - 0x98]
push ecx
push 0
push 0x37
push eax
call fcn.004539a0
add esp, 0x10
cmp eax, 1
jne case.0x450b39.6
push 0
push 0
push 0x65
push dword [ebp - 0x2374]
call fcn.0048b7a0
add esp, 0x10
cmp eax, 1
jne case.0x450b39.6
push 0
push 0
push 0x65
push dword [ebp - 0x2374]
call fcn.0048b7a0
add esp, 0x10
cmp eax, 1
jne case.0x450b39.6
cmp dword [ebp - 0x2224], 0x10
lea eax, [ebp - 0x2238]
push esi
cmovae eax, dword [ebp - 0x2238]
push eax
push dword [ebp - 0x234c]
call fcn.004555b0
add esp, 0xc
jmp 0x44f863
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.0044ed60
cmp eax, 0xffffffff
je case.0x450b39.6
cmp dword [ebp - 0x2224], 0x10
lea eax, [ebp - 0x2238]
push 0
cmovae eax, dword [ebp - 0x2238]
push esi
push eax
push dword [edi]
call dword [ebp - 0x23c4]
test eax, eax
jle case.0x450b39.6
push 0x1001
lea eax, [ebp - 0x2220]
push 0
push eax
call fcn.005519b0
add esp, 0xc
lea eax, [ebp - 0x2220]
cmp byte [edi + 4], 0
je 0x44f8ab
push 0x1000
push eax
push dword [ebp - 0x234c]
call fcn.00454f90
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x2354], esi
jmp 0x44f8c3
push 0
push 0x1000
push eax
push dword [edi]
call dword [ebp - 0x2360]
mov esi, eax
mov dword [ebp - 0x2354], eax
test esi, esi
jle case.0x450b39.6
cmp esi, 0x1001
jae 0x450e26
lea ecx, [ebp - 0x2220]
mov byte [ebp + esi - 0x2220], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44f8e8
sub ecx, edx
lea eax, [ebp - 0x2220]
push ecx
push eax
lea ecx, [ebp - 0x2268]
call fcn.0044d110
push 0
push str.HTTP_1.1_200
lea ecx, [ebp - 0x2268]
call fcn.0044e980
cmp eax, 0xffffffff
jne 0x4504c8
push 0
push str.HTTP_1.0_200
lea ecx, [ebp - 0x2268]
call fcn.0044e980
cmp eax, 0xffffffff
jne 0x4504c8
push 0
push str.HTTP_1.1_30
lea ecx, [ebp - 0x2268]
call fcn.0044e980
cmp eax, 0xffffffff
je case.0x450b39.6
push 0
push str.Content_Length:
lea ecx, [ebp - 0x2268]
call fcn.0044e980
mov esi, dword [ebp - 0x2258]
mov edi, eax
cmp edi, 0xffffffff
je 0x44faac
cmp dword [ebp - 0x2254], 0x10
lea ecx, [ebp - 0x2268]
cmovae ecx, dword [ebp - 0x2268]
setae byte [ebp - 0x234d]
mov dword [ebp - 0x2354], ecx
cmp edi, esi
jae 0x44f9be
mov eax, esi
sub eax, edi
push eax
lea eax, [ecx + edi]
push 0xd
push eax
call fcn.00551b10
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x44f9be
sub ecx, dword [ebp - 0x2354]
jmp 0x44f9c1
or ecx, 0xffffffff
cmp ecx, 0xffffffff
je 0x44faac
lea edx, [edi + 0x10]
mov dword [ebp - 0x2394], 0
mov dword [ebp - 0x2384], 0
mov dword [ebp - 0x2380], 0xf
cmp esi, edx
jb 0x450e21
sub ecx, edi
lea eax, [ebp - 0x2268]
sub ecx, 0x10
sub esi, edx
cmp esi, ecx
cmovb ecx, esi
cmp byte [ebp - 0x234d], 0
push ecx
cmovne eax, dword [ebp - 0x2268]
lea ecx, [ebp - 0x2394]
add eax, edx
push eax
call fcn.0044d110
or dword [ebp - 0x2368], 0x10
mov edx, dword [ebp - 0x226c]
cmp edx, 0x10
jb 0x44fa63
mov ecx, dword [ebp - 0x2280]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44fa59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
movups xmm1, xmmword [ebp - 0x2394]
cmp dword [ebp - 0x2380], 0x10
lea ecx, [ebp - 0x2280]
movq xmm0, qword [ebp - 0x2384]
movd eax, xmm1
movups xmmword [ebp - 0x2280], xmm1
cmovae ecx, eax
movq qword [ebp - 0x2270], xmm0
call fcn.0044e2a0
mov esi, dword [ebp - 0x2258]
mov dword [ebp - 0x2370], eax
mov dword [ebp - 0x2358], edx
push 0
push str.Location:
lea ecx, [ebp - 0x2268]
call fcn.0044e980
mov edi, eax
cmp edi, 0xffffffff
jne 0x44fae2
push 0
push str.location:
lea ecx, [ebp - 0x2268]
call fcn.0044e980
mov edi, eax
cmp edi, 0xffffffff
je 0x450176
cmp dword [ebp - 0x2254], 0x10
lea ecx, [ebp - 0x2268]
cmovae ecx, dword [ebp - 0x2268]
setae byte [ebp - 0x234d]
mov dword [ebp - 0x2354], ecx
cmp edi, esi
jae 0x44fb28
mov eax, esi
sub eax, edi
push eax
lea eax, [ecx + edi]
push 0xd
push eax
call fcn.00551b10
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x44fb28
sub ecx, dword [ebp - 0x2354]
jmp 0x44fb2b
or ecx, 0xffffffff
cmp ecx, 0xffffffff
je 0x450176
lea edx, [edi + 0xa]
mov dword [ebp - 0x23b4], 0
mov dword [ebp - 0x23a4], 0
mov dword [ebp - 0x23a0], 0xf
cmp esi, edx
jb 0x450e21
sub ecx, edi
lea eax, [ebp - 0x2268]
sub ecx, 0xa
sub esi, edx
cmp esi, ecx
cmovb ecx, esi
cmp byte [ebp - 0x234d], 0
push ecx
cmovne eax, dword [ebp - 0x2268]
lea ecx, [ebp - 0x23b4]
add eax, edx
push eax
call fcn.0044d110
or dword [ebp - 0x2368], 0x20
mov edx, dword [ebp - 0x226c]
cmp edx, 0x10
jb 0x44fbcd
mov ecx, dword [ebp - 0x2280]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44fbc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
movups xmm1, xmmword [ebp - 0x23b4]
cmp dword [ebp - 0x23a0], 0x10
lea edx, [ebp - 0x2280]
movq xmm0, qword [ebp - 0x23a4]
movd eax, xmm1
mov dword [ebp - 0x2394], 0
movups xmmword [ebp - 0x2280], xmm1
cmovae edx, eax
mov dword [ebp - 0x2384], 0
mov ecx, edx
movq qword [ebp - 0x2270], xmm0
mov dword [ebp - 0x2380], 0xf
mov byte [ebp - 0x2394], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44fc30
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x2394]
call fcn.0044d110
lea eax, [ebp - 0x2244]
mov byte [ebp - 4], 0xb
push 0x32
push eax
mov dl, 0x2f
lea ecx, [ebp - 0x2394]
call fcn.0044e330
mov byte [ebp - 4], 0xa
add esp, 8
mov edx, dword [ebp - 0x2380]
cmp edx, 0x10
jb 0x44fca1
mov ecx, dword [ebp - 0x2394]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44fc97
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov ecx, dword [ebp - 0x2240]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2244]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jb 0x450176
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x44fcd3
mov ecx, dword [esi]
cmp dword [esi + 0x10], 6
jne 0x44fd28
mov eax, dword [ecx]
mov edx, str.https:
mov esi, 2
cmp eax, dword [edx]
jne 0x44fcf4
add ecx, 4
mov esi, 0xfffffffe
add edx, 4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44fd1b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44fd1b
cmp esi, 0xfffffffe
je 0x44fd17
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44fd1b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44fd1b
xor eax, eax
jmp 0x44fd20
sbb eax, eax
or eax, 1
test eax, eax
jne 0x44fd28
mov cl, 1
jmp 0x44fd2a
xor cl, cl
mov eax, dword [ebp - 0x2364]
mov byte [eax + 4], cl
lea eax, [ebp - 0x2238]
mov edi, dword [ebp - 0x2224]
cmp edi, 0x10
mov esi, dword [ebp - 0x2238]
mov ecx, dword [ebp - 0x2228]
cmovae eax, esi
add eax, ecx
mov dword [ebp - 0x2354], ecx
mov dword [ebp - 0x235c], eax
lea ecx, [ebp - 0x2238]
cmp edi, 0x10
lea eax, [ebp - 0x2238]
cmovae ecx, esi
cmovae eax, esi
sub dword [ebp - 0x235c], ecx
mov edx, ecx
mov ecx, dword [ebp - 0x235c]
sub edx, eax
mov eax, dword [ebp - 0x2354]
sub eax, edx
cmp eax, ecx
cmovb ecx, eax
cmp edi, 0x10
mov dword [ebp - 0x235c], ecx
lea ecx, [ebp - 0x2238]
mov eax, dword [ebp - 0x235c]
cmovae ecx, esi
mov esi, dword [ebp - 0x2354]
add ecx, edx
sub esi, eax
add eax, ecx
mov dword [ebp - 0x2228], esi
sub esi, edx
inc esi
push esi
push eax
push ecx
call fcn.00551430
add esp, 0xc
lea ecx, [ebp - 0x2238]
push 4
push str.GET
call fcn.0044d110
mov ecx, dword [ebp - 0x2240]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x2244]
imul ecx
mov dword [ebp - 0x2354], 3
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 3
jle 0x44ff25
mov esi, 0x48
mov dword [ebp - 0x235c], esi
nop word [eax + eax]
mov edx, dword [ebp - 0x2224]
mov eax, edx
mov ecx, dword [ebp - 0x2228]
sub eax, ecx
cmp eax, 1
jb 0x44fe56
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x2228], eax
lea eax, [ebp - 0x2238]
cmovae eax, dword [ebp - 0x2238]
mov word [eax + ecx], 0x2f
jmp 0x44fe74
push 0x2f
push 1
mov byte [ebp - 0x23c0], 0
lea ecx, [ebp - 0x2238]
push dword [ebp - 0x23c0]
push 1
call fcn.0044dc00
mov edi, dword [ebp - 0x2244]
add edi, esi
mov ecx, edi
cmp dword [edi + 0x14], 0x10
jb 0x44fe86
mov ecx, dword [edi]
mov eax, dword [ebp - 0x2224]
mov edi, dword [edi + 0x10]
mov edx, dword [ebp - 0x2228]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x44fed1
cmp dword [ebp - 0x2224], 0x10
lea esi, [ebp - 0x2238]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0x2238]
add esi, edx
mov dword [ebp - 0x2228], eax
push esi
call fcn.00551430
mov byte [esi + edi], 0
add esp, 0xc
mov esi, dword [ebp - 0x235c]
jmp 0x44feea
mov byte [ebp - 0x23bc], 0
lea ecx, [ebp - 0x2238]
push dword [ebp - 0x23bc]
push edi
call fcn.0044dea0
mov ecx, dword [ebp - 0x2240]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x2244]
add esi, 0x18
mov edi, dword [ebp - 0x2354]
imul ecx
inc edi
mov dword [ebp - 0x235c], esi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x2354], edi
shr eax, 0x1f
add eax, edx
cmp edi, eax
jl 0x44fe20
mov edx, dword [ebp - 0x2224]
mov eax, edx
mov ecx, dword [ebp - 0x2228]
sub eax, ecx
push 0x11
push str._HTTP_1.1_r_nHost:
cmp eax, 0x11
jb 0x44ff6b
cmp edx, 0x10
lea esi, [ebp - 0x2238]
lea eax, [ecx + 0x11]
cmovae esi, dword [ebp - 0x2238]
add esi, ecx
mov dword [ebp - 0x2228], eax
push esi
call fcn.00551430
add esp, 0xc
mov byte [esi + 0x11], 0
jmp 0x44ff85
mov byte [ebp - 0x23b8], 0
lea ecx, [ebp - 0x2238]
push dword [ebp - 0x23b8]
push 0x11
call fcn.0044dea0
mov eax, dword [ebp - 0x2244]
cmp dword [eax + 0x44], 0x10
lea ecx, [eax + 0x30]
jb 0x44ff97
mov ecx, dword [eax + 0x30]
mov edi, dword [eax + 0x40]
mov esi, dword [ebp - 0x2224]
mov eax, esi
mov edx, dword [ebp - 0x2228]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x44ffdb
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x2228], eax
lea eax, [ebp - 0x2238]
cmovae eax, dword [ebp - 0x2238]
lea esi, [eax + edx]
push esi
call fcn.00551430
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x44fff4
mov byte [ebp - 0x2398], 0
lea ecx, [ebp - 0x2238]
push dword [ebp - 0x2398]
push edi
call fcn.0044dea0
mov edx, dword [ebp - 0x2224]
mov eax, edx
mov ecx, dword [ebp - 0x2228]
sub eax, ecx
push 0x1c
push str._r_nConnection:_Keep_Alive_r_n_r_n
cmp eax, 0x1c
jb 0x45003a
cmp edx, 0x10
lea esi, [ebp - 0x2238]
lea eax, [ecx + 0x1c]
cmovae esi, dword [ebp - 0x2238]
add esi, ecx
mov dword [ebp - 0x2228], eax
push esi
call fcn.00551430
add esp, 0xc
mov byte [esi + 0x1c], 0
jmp 0x450054
mov byte [ebp - 0x2378], 0
lea ecx, [ebp - 0x2238]
push dword [ebp - 0x2378]
push 0x1c
call fcn.0044dea0
push 0x80
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.005519b0
mov eax, dword [ebp - 0x2244]
add esp, 0xc
add eax, 0x30
cmp dword [eax + 0x14], 0x10
jb 0x45007b
mov eax, dword [eax]
push 0x7f
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.00558340
lea eax, [ebp - 0x118]
push 0x5e58b0
push eax
call fcn.005596bf
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4500f4
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.005519b0
xor eax, eax
push 0x7f
mov dword [ebp - 0x18], eax
mov word [ebp - 0x14], ax
mov byte [ebp - 0x12], al
lea eax, [ebp - 0x98]
push esi
push eax
call fcn.00558340
push 0x5e58b0
push 0
call fcn.005596bf
add esp, 0x20
test eax, eax
je 0x4500f4
push 6
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00558340
add esp, 0xc
lea ecx, [ebp - 0x98]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450100
sub ecx, edx
jne 0x45012e
mov eax, dword [ebp - 0x2244]
add eax, 0x30
cmp dword [eax + 0x14], 0x10
jb 0x45011c
mov eax, dword [eax]
push 0x7f
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00558340
add esp, 0xc
lea ecx, [ebp - 0x18]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450134
mov edi, dword [ebp - 0x2364]
sub ecx, edx
jne 0x44f6d0
cmp byte [edi + 4], 0
lea eax, [ebp - 0x18]
je 0x450164
push 4
push 0x5e58b4
push eax
call fcn.00558340
jmp 0x44f6c8
push 3
push 0x5e58b8
push eax
call fcn.00558340
jmp 0x44f6c8
mov edi, dword [ebp - 0x2364]
mov byte [edi + 5], 0
cmp dword [ebp - 0x22f8], 0
je 0x4501c3
lea ecx, [ebp - 0x2344]
call fcn.0044cc70
test eax, eax
jne 0x4501c3
mov eax, dword [ebp - 0x2348]
lea ecx, [ebp - 0x2348]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00447db0
mov eax, dword [ebp - 0x234c]
test eax, eax
je 0x4501e2
push 1
push eax
call fcn.00455470
add esp, 8
mov dword [ebp - 0x234c], 0
mov eax, dword [ebp - 0x2374]
test eax, eax
je 0x4501f5
push eax
call fcn.0048b960
add esp, 4
push dword [ebp - 0x239c]
call fcn.004530c0
mov eax, dword [edi]
add esp, 4
cmp eax, 0xffffffff
je 0x450217
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [edi], 0xffffffff
mov al, byte [edi + 5]
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x2224]
mov byte [ebp - 0x234d], al
cmp edx, 0x10
jb 0x45025e
mov ecx, dword [ebp - 0x2238]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x450254
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov eax, dword [ebp - 0x2348]
mov dword [ebp - 0x2228], 0
mov dword [ebp - 0x2224], 0xf
mov byte [ebp - 0x2238], 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x2348]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x234c], eax
lea ecx, [ebp - 0x2344]
call fcn.0044bc90
mov eax, dword [ebp - 0x2348]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x2348]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x234c], eax
lea eax, [ebp - 0x22e0]
mov byte [ebp - 4], 0xc
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0054ecfc
mov edx, dword [ebp - 0x226c]
add esp, 4
cmp edx, 0x10
jb 0x450329
mov ecx, dword [ebp - 0x2280]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45031f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov edx, dword [ebp - 0x2254]
cmp edx, 0x10
jb 0x450363
mov ecx, dword [ebp - 0x2268]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x450359
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov edx, dword [ebp - 0x2284]
mov dword [ebp - 0x2258], 0
mov dword [ebp - 0x2254], 0xf
mov byte [ebp - 0x2268], 0
cmp edx, 0x10
jb 0x4503b8
mov ecx, dword [ebp - 0x2298]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4503ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov ecx, dword [ebp - 0x2244]
mov dword [ebp - 0x2288], 0
mov dword [ebp - 0x2284], 0xf
mov byte [ebp - 0x2298], 0
test ecx, ecx
je 0x450457
mov edx, dword [ebp - 0x2240]
push ecx
call fcn.0044e000
mov ecx, dword [ebp - 0x223c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2244]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x45042f
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push ecx
push esi
call fcn.0054fe89
add esp, 8
mov dword [ebp - 0x2244], 0
mov dword [ebp - 0x2240], 0
mov dword [ebp - 0x223c], 0
mov ecx, dword [ebp - 0x2250]
test ecx, ecx
je 0x4504bd
mov edx, dword [ebp - 0x224c]
push ecx
call fcn.0044e000
mov ecx, dword [ebp - 0x2248]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2250]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x4504b3
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push ecx
push esi
call fcn.0054fe89
add esp, 8
mov al, byte [ebp - 0x234d]
jmp 0x44f11b
push esi
lea eax, [ebp - 0x2220]
push eax
lea eax, [ebp - 0x121c]
push eax
call fcn.00551430
add esp, 0xc
lea ecx, [ebp - 0x2268]
push 0
push str.filename
call fcn.0044e980
mov dword [ebp - 0x2378], eax
cmp eax, 0xffffffff
je 0x450614
push eax
push 0x5e58f0
lea ecx, [ebp - 0x2268]
call fcn.0044e980
mov ecx, eax
cmp ecx, 0xffffffff
je 0x450614
mov edx, dword [ebp - 0x2378]
mov dword [ebp - 0x2394], 0
mov dword [ebp - 0x2384], 0
mov dword [ebp - 0x2380], 0xf
lea eax, [edx + 9]
mov dword [ebp - 0x2368], eax
mov eax, dword [ebp - 0x2258]
cmp eax, dword [ebp - 0x2368]
jb 0x450e21
sub eax, dword [ebp - 0x2368]
sub ecx, edx
sub ecx, 9
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x2254], 0x10
lea eax, [ebp - 0x2268]
cmovae eax, dword [ebp - 0x2268]
add eax, dword [ebp - 0x2368]
push ecx
push eax
lea ecx, [ebp - 0x2394]
call fcn.0044d110
mov edx, dword [ebp - 0x226c]
cmp edx, 0x10
jb 0x4505cc
mov ecx, dword [ebp - 0x2280]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4505c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
movups xmm0, xmmword [ebp - 0x2394]
mov ecx, dword [ebp - 0x236c]
lea eax, [ebp - 0x2280]
movups xmmword [ebp - 0x2280], xmm0
movq xmm0, qword [ebp - 0x2384]
movq qword [ebp - 0x2270], xmm0
cmp ecx, eax
je 0x450614
cmp dword [ebp - 0x2380], 0x10
push dword [ebp - 0x2384]
cmovae eax, dword [ebp - 0x2394]
push eax
call fcn.0044d110
mov eax, dword [ebp - 0x2370]
or eax, dword [ebp - 0x2358]
jne 0x4507a3
push eax
push str.Content_Length:
lea ecx, [ebp - 0x2268]
call fcn.0044e980
mov edx, eax
mov dword [ebp - 0x2378], edx
cmp edx, 0xffffffff
je case.0x450b39.6
cmp dword [ebp - 0x2254], 0x10
lea eax, [ebp - 0x2268]
cmovae eax, dword [ebp - 0x2268]
setae byte [ebp - 0x234d]
mov dword [ebp - 0x2358], eax
mov eax, dword [ebp - 0x2258]
cmp edx, eax
jae case.0x450b39.6
sub eax, edx
push eax
mov eax, dword [ebp - 0x2358]
add eax, edx
push 0xd
push eax
call fcn.00551b10
mov ecx, eax
add esp, 0xc
test ecx, ecx
je case.0x450b39.6
sub ecx, dword [ebp - 0x2358]
cmp ecx, 0xffffffff
je case.0x450b39.6
mov eax, dword [ebp - 0x2378]
mov dword [ebp - 0x23b4], 0
mov dword [ebp - 0x23a4], 0
mov dword [ebp - 0x23a0], 0xf
lea edx, [eax + 0x10]
mov dword [ebp - 0x2358], edx
mov edx, dword [ebp - 0x2258]
cmp edx, dword [ebp - 0x2358]
jb 0x450e21
sub edx, dword [ebp - 0x2358]
sub ecx, eax
sub ecx, 0x10
lea eax, [ebp - 0x2268]
cmp edx, ecx
cmovb ecx, edx
cmp byte [ebp - 0x234d], 0
push ecx
cmovne eax, dword [ebp - 0x2268]
lea ecx, [ebp - 0x23b4]
add eax, dword [ebp - 0x2358]
push eax
call fcn.0044d110
mov edx, dword [ebp - 0x226c]
cmp edx, 0x10
jb 0x450756
mov ecx, dword [ebp - 0x2280]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45074c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
movups xmm1, xmmword [ebp - 0x23b4]
cmp dword [ebp - 0x23a0], 0x10
lea ecx, [ebp - 0x2280]
movq xmm0, qword [ebp - 0x23a4]
movd eax, xmm1
movups xmmword [ebp - 0x2280], xmm1
cmovae ecx, eax
movq qword [ebp - 0x2270], xmm0
call fcn.0044e2a0
mov ecx, edx
mov dword [ebp - 0x2370], eax
or eax, ecx
mov dword [ebp - 0x2358], ecx
je case.0x450b39.6
push 0
push str._r_n_r_n
lea ecx, [ebp - 0x2268]
call fcn.0044e980
xor ecx, ecx
add eax, 4
mov dword [ebp - 0x2398], eax
add eax, dword [ebp - 0x2370]
mov dword [ebp - 0x2368], eax
adc ecx, dword [ebp - 0x2358]
cmp dword [ebp - 0x2284], 0x10
mov dword [ebp - 0x2370], ecx
lea ecx, [ebp - 0x2298]
cmovae ecx, dword [ebp - 0x2298]
push ecx
push 0x22
push ecx
lea ecx, [ebp - 0x2344]
call fcn.0044cd60
test eax, eax
lea ecx, [ebp - 0x2348]
mov eax, dword [ebp - 0x2348]
mov eax, dword [eax + 4]
je 0x45081f
add ecx, eax
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x450833
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push 0
push eax
call fcn.00447db0
mov ecx, dword [ebp - 0x236c]
lea eax, [ebp - 0x2298]
cmp ecx, eax
je 0x450865
cmp dword [ebp - 0x2284], 0x10
push dword [ebp - 0x2288]
cmovae eax, dword [ebp - 0x2298]
push eax
call fcn.0044d110
cmp dword [ebp - 0x22f8], 0
jne 0x450a33
push 0x400
call fcn.0054fe97
add esp, 4
mov dword [ebp - 0x235c], eax
push 0x3f3
push eax
push str.TEMP
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
push 0xc
push str.config2.temp
push dword [ebp - 0x235c]
test eax, eax
jne 0x4508ae
call fcn.00558340
jmp 0x4508b3
call fcn.00558d10
add esp, 0xc
push ecx
push 0x22
push dword [ebp - 0x235c]
lea ecx, [ebp - 0x2344]
call fcn.0044cd60
test eax, eax
lea ecx, [ebp - 0x2348]
mov eax, dword [ebp - 0x2348]
mov eax, dword [eax + 4]
je 0x4508ee
add ecx, eax
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x450902
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push 0
push eax
call fcn.00447db0
mov esi, dword [ebp - 0x236c]
cmp dword [esi + 0x14], 0x10
mov eax, dword [esi + 0x10]
mov edx, eax
jb 0x450927
mov ecx, dword [esi]
mov dword [ebp - 0x2358], ecx
xor ecx, ecx
jmp 0x45093a
mov edi, dword [ebp - 0x2364]
xor ecx, ecx
cmp eax, edx
mov dword [ebp - 0x2358], esi
cmovb edx, eax
add ecx, dword [ebp - 0x2358]
sub eax, edx
mov dword [esi + 0x10], eax
inc eax
push eax
lea eax, [ecx + edx]
push eax
push ecx
call fcn.00551430
mov edx, dword [ebp - 0x235c]
add esp, 0xc
mov esi, dword [ebp - 0x2354]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x2378], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450970
mov eax, dword [ebp - 0x236c]
sub ecx, dword [ebp - 0x2378]
mov dword [ebp - 0x2378], ecx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x2358], eax
mov eax, dword [ebp - 0x236c]
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0x2358]
cmp ecx, eax
ja 0x4509e6
mov esi, dword [ebp - 0x2358]
mov edi, dword [ebp - 0x236c]
lea eax, [esi + ecx]
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [ebp - 0x2364]
cmp dword [eax + 0x14], 0x10
jb 0x4509c7
mov eax, dword [eax]
push ecx
add esi, eax
push edx
push esi
call fcn.00551430
mov eax, dword [ebp - 0x2378]
add esp, 0xc
mov byte [esi + eax], 0
mov esi, dword [ebp - 0x2354]
jmp 0x450a01
push ecx
push edx
mov byte [ebp - 0x2378], 0
push dword [ebp - 0x2378]
push ecx
mov ecx, dword [ebp - 0x236c]
call fcn.0044dea0
push 0x400
push 0
push dword [ebp - 0x235c]
call fcn.005519b0
push dword [ebp - 0x235c]
call fcn.0054fc57
add esp, 0x10
cmp dword [ebp - 0x22f8], 0
jne 0x450a33
mov byte [edi + 5], 0
jmp 0x4501c3
mov eax, esi
lea ecx, [ebp - 0x2348]
sub eax, dword [ebp - 0x2398]
push 0
push eax
lea eax, [ebp - 0x121c]
add eax, dword [ebp - 0x2398]
push eax
call fcn.0044b010
mov eax, esi
cdq
mov dword [ebp - 0x2354], eax
mov dword [ebp - 0x2358], edx
cmp edx, dword [ebp - 0x2370]
jb 0x450a80
ja 0x450a77
cmp eax, dword [ebp - 0x2368]
jb 0x450a80
mov byte [edi + 5], 1
jmp 0x450180
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
nop word [eax + eax]
cmp byte [edi + 4], 0
lea eax, [ebp - 0x121c]
je 0x450ab2
push 0x400
push eax
push dword [ebp - 0x234c]
call fcn.00454f90
add esp, 0xc
jmp 0x450ac2
push 0
push 0x400
push eax
push dword [edi]
call dword [ebp - 0x2360]
test eax, eax
jle 0x450b18
cdq
lea ecx, [ebp - 0x2348]
mov edi, edx
mov esi, eax
push edi
push esi
lea eax, [ebp - 0x121c]
push eax
call fcn.0044b010
mov eax, dword [ebp - 0x2354]
mov ecx, dword [ebp - 0x2358]
add eax, esi
mov dword [ebp - 0x2354], eax
adc ecx, edi
mov dword [ebp - 0x2358], ecx
cmp ecx, dword [ebp - 0x2370]
ja 0x450b5a
jb 0x450b0d
cmp eax, dword [ebp - 0x2368]
jae 0x450b5a
mov edi, dword [ebp - 0x2364]
jmp 0x450a80
cmp byte [edi + 4], 0
je 0x450b4c
push eax
push dword [ebp - 0x234c]
call fcn.004547f0
add esp, 8
cmp eax, 6
ja case.0x450b39.1
movzx eax, byte [eax + 0x450e3c]
jmp dword [eax*4 + 0x450e30]
push 0x3e8
call esi
jmp 0x450a90
cmp eax, 0xffffffff
jne 0x450a90
jmp case.0x450b39.6
mov edi, dword [ebp - 0x2364]
mov byte [edi + 5], 1
jmp 0x450180
cmp byte [edi + 6], 0
jne 0x450b76
push 0x2710
call esi
mov byte [edi + 6], 0
jmp case.0x450b39.6
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x2224]
cmp edx, 0x10
jb 0x450bbd
mov ecx, dword [ebp - 0x2238]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x450bb3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov eax, dword [ebp - 0x2348]
mov dword [ebp - 0x2228], 0
mov dword [ebp - 0x2224], 0xf
mov byte [ebp - 0x2238], 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x2348]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x234c], eax
lea ecx, [ebp - 0x2344]
call fcn.0044bc90
mov eax, dword [ebp - 0x2348]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x2348]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x234c], eax
lea eax, [ebp - 0x22e0]
mov byte [ebp - 4], 0xd
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0054ecfc
mov edx, dword [ebp - 0x226c]
add esp, 4
cmp edx, 0x10
jb 0x450c88
mov ecx, dword [ebp - 0x2280]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x450c7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov edx, dword [ebp - 0x2254]
cmp edx, 0x10
jb 0x450cc2
mov ecx, dword [ebp - 0x2268]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x450cb8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov edx, dword [ebp - 0x2284]
mov dword [ebp - 0x2258], 0
mov dword [ebp - 0x2254], 0xf
mov byte [ebp - 0x2268], 0
cmp edx, 0x10
jb 0x450d17
mov ecx, dword [ebp - 0x2298]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x450d0d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push edx
push ecx
call fcn.0054fe89
add esp, 8
mov ecx, dword [ebp - 0x2244]
mov dword [ebp - 0x2288], 0
mov dword [ebp - 0x2284], 0xf
mov byte [ebp - 0x2298], 0
test ecx, ecx
je 0x450db6
mov edx, dword [ebp - 0x2240]
push ecx
call fcn.0044e000
mov ecx, dword [ebp - 0x223c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2244]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x450d8e
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push ecx
push esi
call fcn.0054fe89
add esp, 8
mov dword [ebp - 0x2244], 0
mov dword [ebp - 0x2240], 0
mov dword [ebp - 0x223c], 0
mov ecx, dword [ebp - 0x2250]
test ecx, ecx
je 0x44f11b
mov edx, dword [ebp - 0x224c]
push ecx
call fcn.0044e000
mov ecx, dword [ebp - 0x2248]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x2250]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x450e12
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x450e2b
push ecx
push esi
call fcn.0054fe89
add esp, 8
jmp 0x44f11b
call fcn.0044d890
call fcn.0054fd7e
call fcn.00559614
inc eax
or eax, dword [ebp]
jl 0x450e37
inc ebp
add byte [ecx + 0xb], ch
inc ebp
add byte [eax], al
add al, byte [eax]
add byte [edx], al
add al, byte [ecx]
int3