Function at 0x4454c0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x601e79
mov eax, dword fs:[0]
push eax
sub esp, 0x1f8
mov eax, dword [0x6a3000]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, ecx
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x120], 1
mov dword [ebp - 0x168], eax
xor eax, eax
mov dword [ebp - 0x134], eax
movq qword [ecx], xmm0
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x138], eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ebp - 4], 1
lea edx, [ebp - 0x140]
mov ecx, 0x6b2598
mov dword [ebp - 0x120], 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x140], 0x40e0e0
call fcn.004132b0
mov edi, dword [0x6b2f80]
test edi, edi
je 0x445577
lock inc dword [edi + 4]
mov edi, dword [0x6b2f80]
mov eax, dword [0x6b2f7c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x120], 0x20001
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 2
push eax
call fcn.0040e810
mov byte [ebp - 4], 4
test edi, edi
je 0x4455c3
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x4455c3
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x4455c3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
xorps xmm0, xmm0
mov dword [ebp - 0x140], 0x40e6c0
lea edx, [ebp - 0x140]
movlpd qword [ebp - 0x3c], xmm0
mov ecx, 0x6b259c
call fcn.004132b0
mov eax, dword [0x6b2f88]
mov dword [ebp - 0x140], eax
test eax, eax
je 0x445603
lock inc dword [eax + 4]
mov eax, dword [0x6b2f88]
mov dword [ebp - 0x140], eax
mov esi, dword [0x6b2f84]
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x3c], esi
mov esi, 0x60001
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x18]
cmp byte [edi], 1
jne 0x445736
mov esi, dword [edi + 8]
lea eax, [ebp - 0x12c]
push str.laisuo
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x445731
push str.laisuo
mov ecx, edi
call fcn.00448250
mov byte [ebp - 4], 6
lea edx, [ebp - 0x180]
xorps xmm0, xmm0
mov dword [ebp - 0x170], 0
movups xmmword [ebp - 0x180], xmm0
mov ecx, eax
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
mov dword [ebp - 0x120], 0x160001
call fcn.004260c0
mov esi, 0xe0001
mov dword [ebp - 4], 5
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov byte [ebp - 4], 7
lea eax, [ebp - 0x180]
mov ecx, dword [ebp - 0x128]
add ecx, 0x84
cmp ecx, eax
je 0x4456ee
cmp dword [ebp - 0x16c], 0xf
push dword [ebp - 0x170]
cmova eax, dword [ebp - 0x180]
push eax
call fcn.004234c0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x16c]
cmp ecx, 0xf
jbe 0x44572c
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x445722
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4470be
push ecx
push edx
call fcn.005cacdd
add esp, 8
mov edi, dword [ebp - 0x18]
jmp 0x445736
mov esi, 0x60001
mov eax, dword [ebp - 0x128]
cmp dword [eax], 1
jne 0x446a7d
push 0x66b6a4
mov ecx, edi
call fcn.00448250
push eax
lea ecx, [ebp - 0x34]
call fcn.0041aee0
push 0x670860
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call fcn.00448250
mov edi, eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 4], 0xb
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x4470c3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov byte [ebp - 4], 9
or esi, 0x400000
mov dword [ebp - 0x11c], eax
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x120], esi
mov ecx, edi
call fcn.004202a0
and esi, 0xffbfffff
mov dword [ebp - 4], 8
or esi, 0x200000
mov dword [ebp - 0x120], esi
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x11c]
mov edx, dword [ecx + 8]
lea edi, [eax - 0x10]
sub edx, 0x10
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x118], edx
cmp edi, edx
je 0x445866
cmp dword [edx + 0xc], 0
lea ecx, [edx + 0xc]
mov dword [ebp - 0x1c], ecx
jl 0x445854
mov ecx, dword [edi]
cmp ecx, dword [edx]
jne 0x445854
push edi
call fcn.004123f0
mov edx, dword [ebp - 0x1c]
or edi, 0xffffffff
add esp, 4
mov dword [ebp - 0x11c], eax
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x445846
mov edx, dword [ebp - 0x118]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x128]
add eax, 0x10
mov dword [edx + 8], eax
jmp 0x445869
mov ecx, dword [ebp - 0x128]
push dword [eax - 0xc]
push eax
lea ecx, [ecx + 8]
call fcn.00412520
or edi, 0xffffffff
mov byte [ebp - 4], 8
mov eax, edi
mov edx, dword [ebp - 0x130]
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x445887
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x670864
lea ecx, [ebp - 0x34]
call fcn.00448250
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 4], 0xf
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0xe
test ecx, ecx
je 0x4470cd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x11c]
mov ecx, dword [ebp - 0x130]
add eax, 0x10
or esi, 0x1000000
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], esi
call fcn.004202a0
and esi, 0xfeffffff
mov dword [ebp - 4], 8
or esi, 0x800000
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x11c]
add ecx, 0xc
mov dword [ebp - 0x130], ecx
mov esi, dword [ecx]
lea edx, [eax - 0x10]
sub esi, 0x10
mov dword [ebp - 0x1c], edx
cmp edx, esi
je 0x445990
cmp dword [esi + 0xc], 0
jl 0x445984
mov ecx, dword [edx]
cmp ecx, dword [esi]
jne 0x44597e
push edx
call fcn.004123f0
mov dword [ebp - 0x130], eax
add esp, 4
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x445967
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [esi + 0xc], eax
jmp 0x445996
mov ecx, dword [ebp - 0x130]
push dword [eax - 0xc]
push eax
call fcn.00412520
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x128]
mov byte [ebp - 4], 8
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4459ae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi + 8]
sub eax, 0x10
push eax
call fcn.004123f0
mov ecx, dword [ebp - 0x118]
add esp, 4
or ecx, 0x2000000
lea esi, [eax + 0x10]
mov dword [ebp - 0x12c], esi
mov byte [ebp - 4], 0x11
or ecx, 2
cmp dword [esi - 0xc], 0
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x120], ecx
je 0x445a2a
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 0xc]
sub eax, 0x10
push eax
call fcn.004123f0
mov ecx, dword [ebp - 0x118]
add eax, 0x10
or ecx, 0x8000004
add esp, 4
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x120], ecx
cmp dword [eax - 0xc], 0
je 0x445a30
mov byte [ebp - 0x121], 0
jmp 0x445a37
mov eax, dword [ebp - 0x14c]
mov byte [ebp - 0x121], 1
test cl, 4
je 0x445a68
and ecx, 0xfffffffb
lea edx, [eax - 0x10]
mov dword [ebp - 0x118], ecx
mov eax, edi
mov dword [ebp - 0x120], ecx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x445a68
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 4], 8
test cl, 2
je 0x445a9a
and ecx, 0xfffffffd
add esi, 0xfffffff0
mov dword [ebp - 0x118], ecx
mov eax, edi
mov dword [ebp - 0x120], ecx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x445a9a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x121], 0
je 0x445b37
mov ecx, dword [ebp - 0x148]
push 0
push 0
push 0x404
mov eax, dword [ecx]
mov byte [eax + 0x2a8], 1
mov eax, dword [ecx]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [ebp - 0x34]
call fcn.0040fd10
mov esi, dword [ebp - 0x140]
test esi, esi
je 0x445afa
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x445afa
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x445afa
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x445b13
mov ecx, esi
call fcn.0040fd10
push 0x10
push esi
call fcn.005cacdd
add esp, 8
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005ca888
mov esp, ebp
pop ebp
ret 4
cmp byte [ebp - 0x34], 1
jne 0x445bf4
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x12c]
push 0x6708a0
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x445bf4
push 0x6708a0
lea ecx, [ebp - 0x34]
call fcn.00448250
mov esi, eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0x14
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x13
test ecx, ecx
je 0x4470d7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, esi
mov dword [ebp - 0x134], 8
call fcn.004202a0
mov eax, 4
mov dword [ebp - 4], 8
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov byte [ebp - 4], 0x15
mov esi, dword [ebp - 0x118]
mov edi, dword [ebp - 0x130]
or esi, 8
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x1c]
mov eax, esi
jmp 0x445c3f
mov dword [ebp - 4], 0x17
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x16
test ecx, ecx
je 0x4470e1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov edi, eax
mov dword [ebp - 0x130], edi
mov dword [ebp - 4], 0x18
mov esi, dword [ebp - 0x118]
or esi, 0x10
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x128]
lea ecx, [eax - 0x10]
mov dword [ebp - 0x11c], ecx
mov edx, dword [edx + 0x10]
sub edx, 0x10
mov dword [ebp - 0x20], edx
cmp ecx, edx
je 0x445cca
cmp dword [edx + 0xc], 0
lea esi, [edx + 0xc]
mov dword [ebp - 0x13c], esi
mov esi, dword [ebp - 0x1c]
jl 0x445cb8
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x445cb8
push dword [ebp - 0x11c]
call fcn.004123f0
mov dword [ebp - 0x130], eax
add esp, 4
mov eax, dword [ebp - 0x13c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x445ca4
mov edx, dword [ebp - 0x20]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x130]
add eax, 0x10
mov dword [edx + 0x10], eax
jmp 0x445cca
mov ecx, dword [ebp - 0x128]
push dword [eax - 0xc]
push eax
lea ecx, [ecx + 0x10]
call fcn.00412520
mov ecx, dword [ebp - 0x118]
test cl, 0x10
je 0x445d02
and ecx, 0xffffffef
add edi, 0xfffffff0
mov dword [ebp - 0x118], ecx
or eax, 0xffffffff
mov dword [ebp - 0x120], ecx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x445d02
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 4], 8
test cl, 8
je 0x445d35
and ecx, 0xfffffff7
add esi, 0xfffffff0
mov dword [ebp - 0x118], ecx
or eax, 0xffffffff
mov dword [ebp - 0x120], ecx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x445d35
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x19
test ecx, ecx
je 0x4470eb
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 0x1b
cmp byte [ebp - 0x34], 1
jne 0x445f0d
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x12c]
push 0x6708a4
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x445f0d
push 0x6708a4
lea ecx, [ebp - 0x34]
call fcn.00448250
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 4], 0x1e
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x1d
test ecx, ecx
je 0x4470f5
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov byte [ebp - 4], 0x1c
lea edx, [ebp - 0x11c]
mov esi, dword [ebp - 0x138]
add eax, 0x10
mov ecx, dword [ebp - 0x20]
or esi, 0x80
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x134], esi
call fcn.004202a0
and esi, 0xffffff7f
mov dword [ebp - 4], 0x1b
or esi, 0x40
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], esi
mov byte [ebp - 4], 0x1f
add edi, 0xfffffff0
mov esi, dword [ebp - 0x11c]
lea ecx, [esi - 0x10]
cmp ecx, edi
je 0x445e65
cmp dword [edi + 0xc], 0
jl 0x445e59
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x445e59
push ecx
call fcn.004123f0
add esp, 4
mov dword [ebp - 0x20], eax
or ecx, 0xffffffff
lea edx, [edi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x445e51
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov dword [ebp - 0x1c], eax
jmp 0x445e65
push dword [esi - 0xc]
lea ecx, [ebp - 0x1c]
push esi
call fcn.00412520
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x1b
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x445e83
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x138]
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov dword [ebp - 0x20], ecx
mov edx, dword [eax + 0x24]
sub edx, 0x10
mov dword [ebp - 0x130], edx
cmp ecx, edx
je 0x445f92
cmp dword [edx + 0xc], 0
lea eax, [edx + 0xc]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x1c]
jl 0x445f80
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x445f80
push dword [ebp - 0x20]
call fcn.004123f0
mov dword [ebp - 0x20], eax
add esp, 4
mov eax, dword [ebp - 0x13c]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x445ef9
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov dword [edx + 0x24], eax
jmp 0x445f92
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 8]
sub eax, 0x10
push eax
call fcn.004123f0
mov edi, dword [ebp - 0x138]
add esp, 4
or edi, 0x1000
mov dword [ebp - 0x138], edi
lea esi, [eax + 0x10]
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x12c], esi
push esi
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x20
push str._s.exe
push eax
call fcn.00412ed0
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x1b
or esi, 0xffffffff
add esp, 0xc
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x445e89
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445e89
mov ecx, dword [ebp - 0x128]
push dword [eax - 0xc]
push eax
lea ecx, [ecx + 0x24]
call fcn.00412520
cmp byte [ebp - 0x34], 1
jne 0x446061
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x12c]
push 0x67089c
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x446061
push 0x67089c
lea ecx, [ebp - 0x34]
call fcn.00448250
mov esi, eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 4], 0x23
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x22
test ecx, ecx
je 0x4470ff
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov byte [ebp - 4], 0x21
or edi, 0x800
mov dword [ebp - 0x11c], eax
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x134], edi
mov ecx, esi
call fcn.004202a0
and edi, 0xfffff7ff
mov dword [ebp - 4], 0x1b
or edi, 0x400
mov dword [ebp - 0x138], edi
mov dword [ebp - 0x134], edi
mov byte [ebp - 4], 0x24
mov esi, dword [ebp - 0x118]
mov edi, dword [ebp - 0x20]
or esi, 0x20
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x11c]
mov eax, esi
jmp 0x4460ac
mov dword [ebp - 4], 0x26
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x25
test ecx, ecx
je 0x447109
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov edi, eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], 0x27
mov esi, dword [ebp - 0x118]
or esi, 0x40
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x128]
lea ecx, [eax - 0x10]
mov dword [ebp - 0x13c], ecx
mov edx, dword [edx + 0x14]
sub edx, 0x10
mov dword [ebp - 0x12c], edx
cmp ecx, edx
je 0x44613a
cmp dword [edx + 0xc], 0
lea esi, [edx + 0xc]
mov dword [ebp - 0x130], esi
mov esi, dword [ebp - 0x11c]
jl 0x446128
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x446128
push dword [ebp - 0x13c]
call fcn.004123f0
mov dword [ebp - 0x20], eax
add esp, 4
mov eax, dword [ebp - 0x130]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x446117
mov edx, dword [ebp - 0x12c]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov dword [edx + 0x14], eax
jmp 0x44613a
mov ecx, dword [ebp - 0x128]
push dword [eax - 0xc]
push eax
lea ecx, [ecx + 0x14]
call fcn.00412520
mov ecx, dword [ebp - 0x118]
test cl, 0x40
je 0x446172
and ecx, 0xffffffbf
add edi, 0xfffffff0
mov dword [ebp - 0x118], ecx
or eax, 0xffffffff
mov dword [ebp - 0x120], ecx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x446172
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 4], 0x1b
test cl, 0x20
je 0x4461a5
and ecx, 0xffffffdf
add esi, 0xfffffff0
mov dword [ebp - 0x118], ecx
or eax, 0xffffffff
mov dword [ebp - 0x120], ecx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4461a5
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x34], 1
jne 0x446280
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x12c]
push 0x6708b0
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x446280
push 0x6708b0
lea ecx, [ebp - 0x34]
call fcn.00448250
mov edi, eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 4], 0x2a
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x29
test ecx, ecx
je 0x447113
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0x11c]
mov esi, dword [ebp - 0x138]
add eax, 0x10
or esi, 0x200
mov dword [ebp - 0x11c], eax
mov ecx, edi
mov dword [ebp - 0x134], esi
call fcn.004202a0
and esi, 0xfffffdff
mov dword [ebp - 4], 0x1b
or esi, 0x100
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], esi
mov byte [ebp - 4], 0x2b
mov esi, dword [ebp - 0x118]
mov edi, dword [ebp - 0x12c]
or esi, 0x80
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x11c]
mov eax, esi
jmp 0x4462d1
mov dword [ebp - 4], 0x2d
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x2c
test ecx, ecx
je 0x44711d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov edi, eax
mov dword [ebp - 0x12c], edi
mov dword [ebp - 4], 0x2e
mov esi, dword [ebp - 0x118]
or esi, 0x100
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x128]
lea ecx, [eax - 0x10]
mov dword [ebp - 0x20], ecx
mov edx, dword [edx + 0x18]
sub edx, 0x10
mov dword [ebp - 0x130], edx
cmp ecx, edx
je 0x44635f
cmp dword [edx + 0xc], 0
lea esi, [edx + 0xc]
mov dword [ebp - 0x13c], esi
mov esi, dword [ebp - 0x11c]
jl 0x44634d
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x44634d
push dword [ebp - 0x20]
call fcn.004123f0
mov dword [ebp - 0x12c], eax
add esp, 4
mov eax, dword [ebp - 0x13c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x446339
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
add eax, 0x10
mov dword [edx + 0x18], eax
jmp 0x44635f
mov ecx, dword [ebp - 0x128]
push dword [eax - 0xc]
push eax
lea ecx, [ecx + 0x18]
call fcn.00412520
mov ecx, dword [ebp - 0x118]
test ecx, 0x100
je 0x44639d
and ecx, 0xfffffeff
add edi, 0xfffffff0
mov dword [ebp - 0x118], ecx
or eax, 0xffffffff
mov dword [ebp - 0x120], ecx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x44639d
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 4], 0x1b
test cl, cl
jns 0x4463d2
and ecx, 0xffffff7f
add esi, 0xfffffff0
mov dword [ebp - 0x118], ecx
or eax, 0xffffffff
mov dword [ebp - 0x120], ecx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4463d2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x34], 1
jne 0x4464a4
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x12c]
push 0x6708b4
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x4464a4
push 0x6708b4
lea ecx, [ebp - 0x34]
call fcn.00448250
mov edi, eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 4], 0x31
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x30
test ecx, ecx
je 0x447127
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x11c]
mov esi, dword [ebp - 0x138]
add eax, 0x10
or esi, 0x20
mov dword [ebp - 0x11c], eax
mov ecx, edi
mov dword [ebp - 0x134], esi
call fcn.004202a0
and esi, 0xffffffdf
mov dword [ebp - 4], 0x1b
or esi, 0x10
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], esi
mov byte [ebp - 4], 0x32
mov esi, dword [ebp - 0x118]
mov edi, dword [ebp - 0x12c]
or esi, 0x200
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x11c]
mov eax, esi
jmp 0x4464f5
mov dword [ebp - 4], 0x34
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x33
test ecx, ecx
je 0x447131
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov edi, eax
mov dword [ebp - 0x12c], edi
mov dword [ebp - 4], 0x35
mov esi, dword [ebp - 0x118]
or esi, 0x400
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x128]
lea ecx, [eax - 0x10]
mov dword [ebp - 0x20], ecx
mov edx, dword [edx + 0x5c]
sub edx, 0x10
mov dword [ebp - 0x130], edx
cmp ecx, edx
je 0x446583
cmp dword [edx + 0xc], 0
lea esi, [edx + 0xc]
mov dword [ebp - 0x13c], esi
mov esi, dword [ebp - 0x11c]
jl 0x446571
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x446571
push dword [ebp - 0x20]
call fcn.004123f0
mov dword [ebp - 0x12c], eax
add esp, 4
mov eax, dword [ebp - 0x13c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44655d
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
add eax, 0x10
mov dword [edx + 0x5c], eax
jmp 0x446583
mov ecx, dword [ebp - 0x128]
push dword [eax - 0xc]
push eax
lea ecx, [ecx + 0x5c]
call fcn.00412520
mov ecx, dword [ebp - 0x118]
test ecx, 0x400
je 0x4465c1
and ecx, 0xfffffbff
add edi, 0xfffffff0
mov dword [ebp - 0x118], ecx
or eax, 0xffffffff
mov dword [ebp - 0x120], ecx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x4465c1
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 4], 0x1b
test ecx, 0x200
je 0x4465fa
and ecx, 0xfffffdff
add esi, 0xfffffff0
mov dword [ebp - 0x118], ecx
or eax, 0xffffffff
mov dword [ebp - 0x120], ecx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4465fa
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x34], 1
jne 0x4466b6
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x12c]
push 0x6708a8
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x4466b6
push 0x6708a8
lea ecx, [ebp - 0x34]
call fcn.00448250
mov esi, eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 4], 0x38
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x37
test ecx, ecx
je 0x44713b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x11c], eax
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x138]
mov ecx, esi
or eax, 2
mov dword [ebp - 0x134], eax
call fcn.004202a0
mov dword [ebp - 4], 0x39
mov esi, dword [ebp - 0x118]
mov edi, dword [ebp - 0x12c]
or esi, 0x800
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x11c]
mov eax, esi
jmp 0x446707
mov dword [ebp - 4], 0x3b
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0x3a
test ecx, ecx
je 0x447145
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov edi, eax
mov dword [ebp - 0x12c], edi
mov dword [ebp - 4], 0x3c
mov esi, dword [ebp - 0x118]
or esi, 0x1000
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x128]
lea ecx, [eax - 0x10]
mov dword [ebp - 0x20], ecx
mov edx, dword [edx + 0x60]
sub edx, 0x10
mov dword [ebp - 0x130], edx
cmp ecx, edx
je 0x446795
cmp dword [edx + 0xc], 0
lea esi, [edx + 0xc]
mov dword [ebp - 0x13c], esi
mov esi, dword [ebp - 0x11c]
jl 0x446783
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x446783
push dword [ebp - 0x20]
call fcn.004123f0
mov dword [ebp - 0x12c], eax
add esp, 4
mov eax, dword [ebp - 0x13c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44676f
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
add eax, 0x10
mov dword [edx + 0x60], eax
jmp 0x446795
mov ecx, dword [ebp - 0x128]
push dword [eax - 0xc]
push eax
lea ecx, [ecx + 0x60]
call fcn.00412520
mov ecx, dword [ebp - 0x118]
test ecx, 0x1000
je 0x4467d7
and ecx, 0xffffefff
lea edx, [edi - 0x10]
or edi, 0xffffffff
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x120], ecx
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4467da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x118]
jmp 0x4467da
or edi, 0xffffffff
mov dword [ebp - 4], 0x1b
test ecx, 0x800
je 0x446812
and ecx, 0xfffff7ff
add esi, 0xfffffff0
mov dword [ebp - 0x118], ecx
mov eax, edi
mov dword [ebp - 0x120], ecx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x446812
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x34], 1
jne 0x4468eb
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x12c]
push 0x6708ac
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x4468eb
push 0x6708ac
lea ecx, [ebp - 0x34]
call fcn.00448250
mov byte [ebp - 4], 0x3d
lea edx, [ebp - 0x164]
mov esi, dword [ebp - 0x118]
xorps xmm0, xmm0
or esi, 0x80000000
mov dword [ebp - 0x154], 0
movups xmmword [ebp - 0x164], xmm0
mov ecx, eax
mov dword [ebp - 0x150], 0xf
mov byte [ebp - 0x164], 0
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
call fcn.004260c0
mov eax, esi
mov dword [ebp - 4], 0x1b
and eax, 0x7fffffff
lea edx, [ebp - 0x164]
or eax, 0x40000000
mov byte [ebp - 4], 0x3e
or eax, 0x2000
mov ecx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x150]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x11c], ecx
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x134], esi
jmp 0x44695e
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x1a0], 0
push 0x66b44d
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x19c], 0
movups xmmword [ebp - 0x1b0], xmm0
call fcn.004134c0
lea edx, [ebp - 0x1b0]
mov dword [ebp - 4], 0x3f
mov esi, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x1a0]
or esi, 0x4000
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x11c], ecx
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x134], ecx
mov esi, dword [ebp - 0x128]
add esi, 0xb4
cmp esi, edx
mov esi, dword [ebp - 0x150]
je 0x4469a2
cmp dword [ebp - 0x134], 0xf
mov ecx, dword [ebp - 0x128]
push dword [ebp - 0x11c]
cmovbe eax, edx
push eax
lea ecx, [ecx + 0xb4]
call fcn.004234c0
mov esi, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 4], 0x3e
mov eax, dword [ebp - 0x118]
test eax, 0x4000
je 0x446a01
and eax, 0xffffbfff
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], eax
cmp ecx, 0xf
jbe 0x446a01
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4469f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44714f
push ecx
push edx
call fcn.005cacdd
mov eax, dword [ebp - 0x118]
add esp, 8
mov dword [ebp - 4], 0x1b
test eax, 0x2000
je 0x446a54
and eax, 0xffffdfff
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], eax
cmp esi, 0xf
jbe 0x446a54
mov ecx, dword [ebp - 0x164]
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x446a4a
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44714f
push esi
push ecx
call fcn.005cacdd
add esp, 8
mov edx, dword [ebp - 0x1c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x446a6e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 5
call fcn.0040fd10
mov edi, dword [ebp - 0x18]
cmp byte [edi], 1
jne 0x446c78
mov esi, dword [edi + 8]
lea eax, [ebp - 0x12c]
push 0x6708f8
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x446bd0
push 0x6708f8
mov ecx, edi
call fcn.00448250
cmp byte [eax], 1
jne 0x446bcd
mov esi, dword [eax + 8]
lea eax, [ebp - 0x12c]
push 0x66b6a0
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x446bcd
mov ecx, dword [ebp - 0x18]
push 0x6708f8
call fcn.00448250
push 0x66b6a0
mov ecx, eax
call fcn.00448250
mov byte [ebp - 4], 0x40
lea edx, [ebp - 0x198]
mov esi, dword [ebp - 0x118]
xorps xmm0, xmm0
movups xmmword [ebp - 0x198], xmm0
or esi, 0x20000000
mov dword [ebp - 0x188], 0
mov ecx, eax
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
mov dword [ebp - 0x120], esi
call fcn.004260c0
and esi, 0xdfffffff
mov dword [ebp - 4], 5
or esi, 0x10000000
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x120], esi
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x198]
mov ecx, dword [ebp - 0x128]
add ecx, 0x9c
cmp ecx, eax
je 0x446b8f
cmp dword [ebp - 0x184], 0xf
push dword [ebp - 0x188]
cmova eax, dword [ebp - 0x198]
push eax
call fcn.004234c0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x184]
cmp ecx, 0xf
jbe 0x446bcd
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446bc3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x447154
push ecx
push edx
call fcn.005cacdd
add esp, 8
mov edi, dword [ebp - 0x18]
cmp byte [edi], 1
jne 0x446c78
mov esi, dword [edi + 8]
lea eax, [ebp - 0x12c]
push 0x66b6b0
push eax
mov ecx, esi
call fcn.004487c0
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x446c78
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 0x5c]
sub eax, 0x10
push eax
call fcn.004123f0
add esp, 4
lea ecx, [eax + 0x10]
mov eax, dword [ebp - 0x118]
or eax, 0x4008000
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], eax
mov edx, str.00xA
mov si, word [ecx]
cmp si, word [edx]
jne 0x446c59
test si, si
je 0x446c55
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x446c59
add ecx, 4
add edx, 4
test si, si
jne 0x446c33
xor ecx, ecx
jmp 0x446c5e
sbb ecx, ecx
or ecx, 1
mov byte [ebp - 4], 5
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x11c]
test ecx, ecx
je 0x446c84
mov byte [ebp - 0x121], 1
jmp 0x446c8b
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x118]
mov byte [ebp - 0x121], 0
test eax, 0x8000
je 0x446cbe
and eax, 0xffff7fff
add edx, 0xfffffff0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], eax
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x446cbb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x18]
cmp byte [ebp - 0x121], 0
je 0x446ff0
push 0x6708f8
mov ecx, edi
call fcn.00448250
push 0x6708fc
mov ecx, eax
call fcn.00448250
mov ecx, eax
call fcn.00448400
mov esi, dword [ebp - 0x128]
push 0xa8
push 0
mov dword [esi + 0x6c], eax
lea eax, [ebp - 0x114]
push eax
call fcn.005d0030
add esp, 0xc
lea ecx, [ebp - 0x114]
push dword [esi + 0x6c]
call fcn.0044c7e0
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0x18]
push 0x66b6b0
call fcn.00448250
mov esi, eax
xorps xmm0, xmm0
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
movups xmmword [ebp - 0x34], xmm0
call fcn.0041ae20
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
movups xmmword [ebp - 0x4c], xmm0
call fcn.0041ad70
nop dword [eax + eax]
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x34]
call fcn.0041c5e0
test al, al
je 0x446f80
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x11c], esi
movzx eax, byte [esi]
cmp eax, 9
ja case.0x446d7c.3
movzx eax, byte [eax + 0x4471f0]
jmp dword [eax*4 + 0x4471e0]
mov esi, dword [ebp - 0x30]
add esi, 0x28
mov dword [ebp - 0x11c], esi
jmp 0x446da6
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x11c], eax
jmp 0x446da6
cmp dword [ebp - 0x28], 0
jne 0x44719e
lea ecx, [ebp - 0x6c]
call fcn.00474400
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0x144]
push 0x330
mov edi, dword [eax + 4]
sub edi, dword [eax]
sar edi, 3
call fcn.00482e20
mov esi, eax
add esp, 4
mov dword [ebp - 0x12c], esi
mov byte [ebp - 4], 0x47
test esi, esi
je 0x446e90
xorps xmm0, xmm0
mov dword [ebp - 0x1b8], 0
movq qword [esi], xmm0
lea ecx, [ebp - 0x1c8]
mov dword [esi + 8], 0
push 0
push 0x66b44d
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj2_class_Package_.0
movups xmmword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x1b4], 0
call fcn.004134c0
push edi
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x49
push eax
push 0
push dword [ebp - 0x11c]
lea eax, [ebp - 0x6c]
push eax
lea ecx, [esi + 0x10]
call fcn.00463d40
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0xf
jbe 0x446e92
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446e84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x447199
push ecx
push edx
call fcn.005cacdd
add esp, 8
jmp 0x446e92
xor esi, esi
mov eax, dword [ebp - 0x118]
xorps xmm0, xmm0
or eax, 0x10000
movlpd qword [ebp - 0x24], xmm0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], eax
lea eax, [esi + 0x10]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0x121]
mov edi, dword [ebp - 0x144]
lea ecx, [ebp - 0x114]
push edi
push eax
lea eax, [ebp - 0x24]
mov byte [ebp - 0x121], 0
push eax
call fcn.0044c9d0
test al, al
je 0x446f3a
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
je 0x446f14
mov esi, dword [ebp - 0x20]
mov dword [eax], 0
mov dword [eax + 4], 0
test esi, esi
je 0x446f06
lock inc dword [esi + 4]
mov ecx, dword [ebp - 0x24]
mov dword [eax], ecx
mov dword [eax + 4], esi
add dword [edi + 4], 8
jmp 0x446f26
lea ecx, [ebp - 0x24]
push ecx
push eax
mov ecx, edi
call fcn.004488a0
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x128]
inc dword [eax + 0x74]
cmp byte [ecx + 0x24c], 0
je 0x446f3d
jmp 0x446f4a
mov esi, dword [ebp - 0x20]
cmp byte [ebp - 0x121], 0
je 0x447058
test esi, esi
je 0x446f70
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x446f70
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x446f70
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x5c]
call fcn.00411200
lea ecx, [ebp - 0x6c]
call fcn.0040fd10
lea ecx, [ebp - 0x84]
call fcn.0040f7b0
mov edx, dword [ebp - 0x8c]
call fcn.004486f0
push 0x2c
push dword [ebp - 0x8c]
call fcn.005cacdd
add esp, 8
lea ecx, [ebp - 0xa4]
call fcn.0040f7b0
mov edx, dword [ebp - 0xac]
call fcn.00448740
push 0x44
push dword [ebp - 0xac]
call fcn.005cacdd
add esp, 8
lea ecx, [ebp - 0xe0]
call fcn.0042d190
lea ecx, [ebp - 0xf4]
call fcn.0042d220
lea ecx, [ebp - 0x114]
call fcn.00447270
mov edi, dword [ebp - 0x18]
cmp dword [ebp - 0x140], 0
je 0x447023
mov edi, dword [ebp - 0x140]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x447020
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x447020
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x447039
mov ecx, edi
call fcn.0040fd10
push 0x10
push edi
call fcn.005cacdd
add esp, 8
mov ecx, dword [ebp - 0x148]
push 0
push 0
push 0x404
mov eax, dword [ecx]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x445b13
test esi, esi
je 0x44707e
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x44707e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x44707e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x43
call fcn.00411200
lea ecx, [ebp - 0x6c]
call fcn.0040fd10
lea ecx, [ebp - 0x34]
call fcn.0041abd0
jmp 0x446d50
call fcn.005dd52a
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
call fcn.005dd52a
call fcn.005dd52a
push str.cannot_get_value
lea ecx, [ebp - 0x1c8]
call fcn.0040ffe0
push ecx
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x44
push eax
mov edx, 0xd6
lea ecx, [ebp - 0x1e4]
call fcn.0041d9d0
add esp, 8
lea eax, [ebp - 0x1e4]
push 0x69dbec
push eax
call fcn.005d018a
call fcn.005dd52a
push str.cannot_get_value
lea ecx, [ebp - 0x1c8]
call fcn.0040ffe0
push ecx
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x45
push eax
mov edx, 0xd6
lea ecx, [ebp - 0x200]
call fcn.0041d9d0
add esp, 8
lea eax, [ebp - 0x200]
push 0x69dbec
push eax
call fcn.005d018a
nop
pop ecx
jno 4485671
add byte [ebx - 0x6effbb93], al
insd dword es:[edi], dx
inc esp
add byte [ebp + ebp*2 + 0x1000044], bl
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
int3
les ecx, [eax]
lea ecx, [esi + 0x70]
call fcn.0040f7b0
mov edx, dword [esi + 0x68]
call fcn.00448740
push 0x44
push dword [esi + 0x68]
call fcn.005cacdd
add esp, 8
lea ecx, [esi + 0x34]
call fcn.0042d190
lea ecx, [esi + 0x20]
call fcn.0042d220
mov ecx, esi
pop esi
jmp fcn.00447270