Function at 0x4bc250
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x4a0
xor eax, eax
mov dword [ebp - 0x48], edx
push esi
mov esi, dword [ebx + 0xc]
push edi
mov edi, dword [ebx + 0x10]
mov ecx, edi
mov dword [ebp - 0x4c], eax
push dword [esi + 0x10]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
call fcn.004406b0
sub esp, 8
lea ecx, [ebp - 0x4a0]
push esi
call fcn.00427d40
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
movups xmmword [ebp - 0x64], xmm0
lea edx, [ebp - 0x64]
mov dword [ebp - 0x50], 0xf
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 0x64], 0
call fcn.004aba70
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x4bc5b9
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x64]
mov eax, dword [ebp - 0x64]
cmp esi, 0xf
cmova ecx, eax
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x54]
cmp ecx, 9
jb 0x4bc3ad
mov ecx, dword [ebp - 4]
mov edx, str.attribute
push 9
call fcn.004115e0
add esp, 4
test eax, eax
jne 0x4bc3a7
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x64]
call fcn.004b9090
test al, al
je 0x4bc587
mov esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0xd4]
je 0x4bc37d
movups xmm0, xmmword [ebp - 0x3c]
movups xmmword [esi], xmm0
add esi, 0x10
mov dword [ebp - 0x20], esi
mov dword [ebp - 0xdc], esi
jmp 0x4bc587
lea eax, [ebp - 0x3c]
push eax
push esi
lea ecx, [ebp - 0xe0]
call fcn.004bed10
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x20], eax
jmp 0x4bc587
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x54]
cmp esi, 0xf
lea edx, [ebp - 0x64]
cmova edx, eax
mov dword [ebp - 4], edx
cmp ecx, 7
jb 0x4bc3da
mov ecx, dword [ebp - 4]
mov edx, str.varying
push 7
call fcn.004115e0
add esp, 4
test eax, eax
je 0x4bc436
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x54]
cmp esi, 0xf
lea edx, [ebp - 0x64]
cmova edx, eax
mov dword [ebp - 4], edx
cmp ecx, 2
jb 0x4bc407
mov ecx, dword [ebp - 4]
mov edx, 0x731dec
push 2
call fcn.004115e0
add esp, 4
test eax, eax
je 0x4bc436
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x54]
cmp esi, 0xf
lea edx, [ebp - 0x64]
cmova edx, eax
mov dword [ebp - 4], edx
cmp ecx, 3
jb 0x4bc4e8
mov ecx, dword [ebp - 4]
mov edx, 0x731df0
push 3
call fcn.004115e0
add esp, 4
test eax, eax
jne 0x4bc4e8
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xb0]
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
movups xmmword [ebp - 0xac], xmm0
push eax
lea edx, [ebp - 0x64]
mov dword [ebp - 0x98], 0xf
mov byte [ebp - 0xac], 0
call fcn.004b9520
add esp, 4
test al, al
je 0x4bc4d8
cmp dword [ebp - 0x98], 0xf
lea eax, [ebp - 0xac]
push dword [ebp - 0x9c]
cmova eax, dword [ebp - 0xac]
push eax
push 0x811c9dc5
call fcn.004107e0
add esp, 0xc
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.004be950
mov ecx, dword [0x74cf64]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0xb0]
cmp ecx, dword [0x74cf64]
lea ecx, [ebp - 0x158]
push eax
jne 0x4bc4d3
lea ecx, [ebp - 0x2c]
call fcn.004be5a0
lea ecx, [ebp - 0xac]
call fcn.004143d0
jmp 0x4bc587
sub esp, 8
lea ecx, [ebp - 0x64]
mov eax, esp
mov dword [eax], str.uniform
mov dword [eax + 4], 7
call fcn.004be4a0
test al, al
je 0x4bc563
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xb0]
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
movups xmmword [ebp - 0xac], xmm0
push eax
lea edx, [ebp - 0x64]
mov dword [ebp - 0x98], 0xf
mov byte [ebp - 0xac], 0
call fcn.004b9520
add esp, 4
test al, al
je 0x4bc556
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0xec]
call fcn.004be5a0
lea ecx, [ebp - 0xb0]
call fcn.00427110
jmp 0x4bc587
cmp dword [ebp - 0x50], 0xf
lea eax, [ebp - 0x64]
push dword [ebp - 0x54]
cmova eax, dword [ebp - 0x64]
mov ecx, edi
push eax
call fcn.00413010
push 1
push 0x71fc20
mov ecx, edi
call fcn.00413010
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x4a0]
call fcn.004aba70
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x4bc317
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], ecx
jmp 0x4bc5bd
xor esi, esi
xor ecx, ecx
mov eax, dword [ebx + 8]
test eax, eax
jne 0x4bc6ff
mov ax, word [0x732208]
xorps xmm0, xmm0
mov dword [ebp - 0xb0], 3
mov dword [ebp - 0x9c], 0xb
mov dword [ebp - 0x98], 0xf
mov dword [ebp - 0x8c], 0
movups xmmword [ebp - 0xac], xmm0
mov word [ebp - 0xa4], ax
movq xmm0, qword [str.gl_Position]
mov al, byte [0x73220a]
movq qword [ebp - 0xac], xmm0
xorps xmm0, xmm0
mov byte [ebp - 0xa2], al
mov byte [ebp - 0xa1], 0
movq qword [ebp - 0x94], xmm0
cmp ecx, esi
je 0x4bc652
lea eax, [ebp - 0xb0]
push eax
call fcn.004bf7e0
add ecx, 0x28
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], ecx
jmp 0x4bc6f1
mov edi, dword [ebp - 0x2c]
mov eax, 0x66666667
sub ecx, edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x14], eax
cmp eax, 0x6666666
je 0x4bdefe
sub esi, edi
lea edx, [eax + 1]
sar esi, 3
mov eax, 0x6666666
imul esi, esi, 0xcccccccd
mov dword [ebp - 0x10], edx
mov ecx, esi
shr ecx, 1
sub eax, ecx
cmp esi, eax
jbe 0x4bc69d
mov eax, 0x6666666
jmp 0x4bc6a5
lea eax, [ecx + esi]
cmp eax, edx
cmovb eax, edx
lea edx, [ebp - 4]
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
call fcn.004bef20
mov edi, eax
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0x14]
lea esi, [eax + eax*4]
lea edx, [edi + esi*8]
call fcn.004bf320
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
push edi
call fcn.004bf280
add esp, 8
lea ecx, [ebp - 0x2c]
push dword [ebp - 8]
push dword [ebp - 0x10]
push edi
call fcn.004bef70
mov eax, dword [ebp - 0x28]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0xb0]
call fcn.00427110
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x4bc87b
test eax, eax
jne 0x4bc717
lea eax, [ebp - 0x2c]
push eax
jmp 0x4bc870
cmp eax, 1
jne 0x4bc86c
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
cmp esi, eax
je 0x4bc79a
mov edi, eax
mov eax, dword [esi]
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xb0], eax
lea eax, [esi + 4]
push eax
call fcn.004141c0
mov eax, dword [esi + 0x1c]
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x94], eax
mov al, byte [esi + 0x20]
mov byte [ebp - 0x90], al
lea eax, [ebp - 0xb0]
push eax
mov dword [ebp - 0x8c], 1
call fcn.004be5a0
lea ecx, [ebp - 0xb0]
call fcn.00427110
add esi, 0x28
cmp esi, edi
jne 0x4bc740
mov edi, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
cmp ecx, edx
je 0x4bc7b4
push ecx
call fcn.004be770
mov ecx, dword [ebx + 0x14]
add esp, 4
mov eax, dword [ecx]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x1c]
je 0x4bc847
mov edi, dword [ebx + 0x14]
lea esi, [eax + 0x1c]
nop word [eax + eax]
mov eax, dword [esi - 0x1c]
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xb0], eax
lea eax, [esi - 0x18]
push eax
call fcn.004141c0
mov eax, dword [esi]
mov dword [ebp - 0x94], eax
mov al, byte [esi + 4]
mov byte [ebp - 0x90], al
mov eax, dword [esi + 8]
mov dword [ebp - 0x8c], eax
cmp eax, 2
jne 0x4bc82e
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x70]
call fcn.004be5a0
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x8c], 0
push eax
mov ecx, edi
call fcn.004be5a0
lea ecx, [ebp - 0xac]
call fcn.004143d0
add esi, 0x28
lea eax, [esi - 0x1c]
cmp eax, dword [ebp - 0x1c]
jne 0x4bc7d0
mov edi, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xcccccccd
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004be7e0
lea ecx, [ebp - 0x70]
call fcn.004be220
jmp 0x4bc875
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004be1f0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
push 1
lea ecx, [ebp - 0x348]
call fcn.0040be50
push 1
lea ecx, [ebp - 0x3f8]
call fcn.0040be50
mov esi, dword [ebp - 0x158]
cmp esi, dword [ebp - 0x154]
je 0x4bc952
add esi, 4
nop word [eax + eax]
push esi
call fcn.0040e570
push eax
push esi
lea eax, [ebp - 0x6c]
push eax
call fcn.004be950
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x4bdf03
add eax, 0x20
lea ecx, [ebp - 0x3e8]
mov edx, 0x724878
mov dword [ebp - 8], eax
call fcn.0040e220
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx*8 + 0x72e704]
mov ecx, eax
call fcn.0040e220
mov edx, 0x71e884
mov ecx, eax
call fcn.0040e220
cmp dword [esi + 0x14], 0xf
mov edx, esi
jbe 0x4bc90c
mov edx, dword [esi]
push dword [esi + 0x10]
mov ecx, eax
call fcn.0040fee0
add esp, 4
mov edx, 0x72482c
mov ecx, eax
call fcn.0040e220
mov ecx, eax
mov eax, dword [ebp - 8]
cmp dword [eax + 0x14], 0xf
mov edx, dword [eax + 0x10]
jbe 0x4bc935
mov eax, dword [eax]
push edx
mov edx, eax
call fcn.0040fee0
add esi, 0x28
add esp, 4
lea eax, [esi - 4]
cmp eax, dword [ebp - 0x154]
jne 0x4bc8b0
mov eax, dword [ebx + 8]
sub eax, 0
je 0x4bca6b
sub eax, 1
je 0x4bc9ac
mov edx, str.PS_OUTPUT_main_VS_OUTPUT_IN
lea ecx, [ebp - 0x338]
call fcn.0040e220
mov esi, eax
lea ecx, [ebp - 0x3e0]
lea eax, [ebp - 0x88]
push eax
call fcn.0040d4a0
cmp dword [ebp - 0x74], 0xf
lea edx, [ebp - 0x88]
push dword [ebp - 0x78]
cmova edx, dword [ebp - 0x88]
mov ecx, esi
call fcn.0040fee0
mov edx, str.__n_n_tPS_OUTPUT_OUT__n
jmp 0x4bcaaf
mov ecx, dword fs:[0x2c]
mov eax, dword [0x74ece0]
mov ecx, dword [ecx]
cmp eax, dword [ecx + 0x98]
jg 0x4bdf0d
cmp dword [0x74ecf8], 0xf
mov ecx, 0x74ece4
cmova ecx, dword [0x74ece4]
mov esi, ecx
lea edx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4bc9e0
sub esi, edx
mov eax, edi
cmp dword [edi + 0x14], 0xf
jbe 0x4bc9f3
mov eax, dword [edi]
mov edx, dword [edi + 0x10]
push esi
push ecx
push 0
mov ecx, eax
call fcn.0042aa70
add esp, 0xc
cmp eax, 0xffffffff
je 0x4bca64
push 0
push 0x720774
push dword [0x74ecf4]
mov ecx, edi
push eax
call fcn.0043a5a0
mov edx, str.void_main_triangle_VS_OUTPUT_IN_3___inout_TriangleStream_PS_INPUT__OUT
lea ecx, [ebp - 0x338]
call fcn.0040e220
mov esi, eax
lea ecx, [ebp - 0x3e0]
lea eax, [ebp - 0x88]
push eax
call fcn.0040d4a0
cmp dword [ebp - 0x74], 0xf
lea edx, [ebp - 0x88]
push dword [ebp - 0x78]
cmova edx, dword [ebp - 0x88]
mov ecx, esi
call fcn.0040fee0
mov edx, str.__n_n_t
jmp 0x4bcaaf
mov edx, str.void_main_point_VS_OUTPUT_IN_1___inout_TriangleStream_PS_INPUT__OUT
jmp 0x4bca23
mov edx, str.VS_OUTPUT_main_VS_INPUT_IN
lea ecx, [ebp - 0x338]
call fcn.0040e220
mov esi, eax
lea ecx, [ebp - 0x3e0]
lea eax, [ebp - 0x88]
push eax
call fcn.0040d4a0
cmp dword [ebp - 0x74], 0xf
lea edx, [ebp - 0x88]
push dword [ebp - 0x78]
cmova edx, dword [ebp - 0x88]
mov ecx, esi
call fcn.0040fee0
mov edx, str.__n_n_tVS_OUTPUT_OUT__n
add esp, 4
mov ecx, eax
call fcn.0040e220
lea ecx, [ebp - 0x88]
call fcn.004143d0
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0xf
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
movups xmmword [ebp - 0x14c], xmm0
mov byte [ebp - 0x14c], 0
movups xmmword [ebp - 0x1a0], xmm0
mov byte [ebp - 0x1a0], 0
cmp eax, 2
jne 0x4bcb43
lea eax, [ebp - 0x14c]
mov edx, 0x7323f8
push eax
lea ecx, [ebp - 0x2c]
call fcn.004bb6d0
add esp, 4
lea eax, [ebp - 0x14c]
mov edx, 0x720774
lea ecx, [ebp - 0xec]
push eax
call fcn.004bb6d0
jmp 0x4bcb7e
test eax, eax
jne 0x4bcb87
lea edx, [ebp - 0x14c]
lea ecx, [ebp - 0x2c]
call fcn.004bbbf0
lea eax, [ebp - 0x14c]
mov edx, 0x720774
push eax
lea ecx, [ebp - 0xec]
call fcn.004bb6d0
add esp, 4
lea eax, [ebp - 0x1a0]
lea ecx, [ebp - 0x2c]
push eax
call fcn.004bc0b0
mov eax, dword [ebp - 0x28]
add esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x138], 0xf
lea edx, [ebp - 0x14c]
push dword [ebp - 0x13c]
cmova edx, dword [ebp - 0x14c]
lea ecx, [ebp - 0x338]
call fcn.0040fee0
add esp, 4
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x330]
push eax
call fcn.0040d4a0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x74ecfc]
cmp eax, dword [ecx + 0x98]
jg 0x4bdf8a
cmp dword [edi + 0x14], 0xf
lea esi, [edi + 0x14]
xorps xmm0, xmm0
mov dword [ebp - 0x160], 0
lea ecx, [edi + 0x10]
mov dword [ebp - 0x15c], 0xf
movups xmmword [ebp - 0x170], xmm0
mov byte [ebp - 0x170], 0
mov dword [ebp - 0x10], ecx
jbe 0x4bcc22
mov edx, dword [edi]
lea eax, [edi + 0x14]
mov dword [ebp - 8], eax
lea eax, [edi + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [eax]
add eax, dword [edi]
jmp 0x4bcc2e
mov eax, dword [ecx]
mov edx, edi
mov dword [ebp - 0xc], ecx
add eax, edi
mov dword [ebp - 8], esi
push ecx
lea ecx, [ebp - 0x88]
push ecx
push 0x74ed00
push eax
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 4]
call fcn.004bf380
mov eax, dword [ebp - 8]
lea ecx, [ebp - 0x170]
add esp, 0x14
mov dword [ebp - 0x18], eax
cmp edi, ecx
je 0x4bccbb
mov ecx, dword [esi]
cmp ecx, 0xf
jbe 0x4bcc74
push ecx
push dword [edi]
push edi
call fcn.00414390
mov eax, dword [ebp - 8]
add esp, 0xc
movups xmm0, xmmword [ebp - 0x170]
mov esi, dword [ebp - 0x10]
lea ecx, [edi + 0x14]
mov dword [eax], 0xf
mov eax, 0xf
movups xmmword [edi], xmm0
mov byte [ebp - 0x170], 0
movq xmm0, qword [ebp - 0x160]
movq qword [edi + 0x10], xmm0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x18], ecx
jmp 0x4bccc4
mov eax, dword [ebp - 0x15c]
lea esi, [edi + 0x10]
cmp eax, 0xf
jbe 0x4bccdf
push eax
push dword [ebp - 0x170]
lea eax, [ebp - 0x170]
push eax
call fcn.00414390
add esp, 0xc
mov eax, dword [ebp - 8]
mov ecx, edi
mov edx, dword [esi]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], esi
mov eax, dword [eax]
mov dword [ebp - 4], eax
cmp eax, 0xf
jbe 0x4bcd04
mov ecx, dword [edi]
lea eax, [edi + 0x10]
mov dword [ebp - 0x10], eax
lea eax, [edi + 0x14]
mov dword [ebp - 0x18], eax
push 5
push str.main_
push 0
call fcn.0042aa70
add esp, 0xc
cmp eax, 0xffffffff
je 0x4bda15
cmp dword [ebp - 0x74], 0xf
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
jbe 0x4bcd42
mov esi, dword [ebp - 0x10]
lea eax, [edi + 0x14]
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], eax
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x10], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bcd50
sub ecx, dword [ebp - 0x10]
mov eax, edi
cmp dword [ebp - 4], 0xf
jbe 0x4bcd72
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
lea eax, [edi + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [edi]
jmp 0x4bcd75
mov dword [ebp - 0x10], esi
push ecx
push edx
mov edx, dword [ebp - 0x14]
mov ecx, eax
push 0
call fcn.0042aa70
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x4bcd91
xor esi, esi
jmp 0x4bcd94
add esi, dword [ebp - 0x78]
cmp dword [ebp - 0x14], esi
mov eax, esi
xorps xmm0, xmm0
mov dword [ebp - 0xf4], 0
cmovb eax, dword [ebp - 0x14]
mov ecx, edi
cmp dword [ebp - 4], 0xf
movups xmmword [ebp - 0x104], xmm0
mov dword [ebp - 0xf0], 0
jbe 0x4bcdcb
mov edx, dword [ebp - 0x10]
mov ecx, dword [edi]
mov dword [ebp - 0xc], edx
push eax
push ecx
lea ecx, [ebp - 0x104]
call fcn.00414570
mov ecx, dword [ebp - 0xc]
xorps xmm0, xmm0
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov edx, dword [ecx]
sub edx, esi
mov dword [ebp - 0x14], edx
cmp dword [ecx], esi
jb 0x4bdfe2
mov eax, dword [ebp - 0x18]
mov edx, edi
mov dword [ebp - 4], ecx
cmp dword [eax], 0xf
jbe 0x4bce1d
mov edx, dword [edi]
lea eax, [edi + 0x10]
mov dword [ebp - 4], eax
push dword [ebp - 0x14]
lea eax, [edx + esi]
push eax
lea ecx, [ebp - 0xc8]
call fcn.00414570
lea eax, [ebp - 0xc8]
mov ecx, edi
push eax
call fcn.0040c1c0
mov eax, dword [ebp - 0xb4]
cmp eax, 0xf
jbe 0x4bce66
push eax
push dword [ebp - 0xc8]
lea eax, [ebp - 0xc8]
push eax
call fcn.00414390
mov esi, dword [ebp - 4]
add esp, 0xc
mov dword [ebp - 0xc], esi
jmp 0x4bce69
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebx + 8]
test ecx, ecx
jne 0x4bd011
mov esi, dword [ebp - 0x20]
sub esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc]
sar esi, 4
mov dword [ebp - 0x20], esi
test esi, esi
je 0x4bd01c
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 4], eax
mov eax, dword [eax]
push dword [eax*4 + 0x72fbc0]
lea eax, [ebp - 0xd0]
push str._b__s__b
push eax
call fcn.0042a280
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0x188]
add esp, 0xc
mov dword [ebp - 0x178], 0
xorps xmm0, xmm0
mov dword [ebp - 0x174], 0xf
movups xmmword [ebp - 0x188], xmm0
mov byte [ebp - 0x188], 0
push dword [eax]
call fcn.004406b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x40], 0
call fcn.004ab550
lea ecx, [ebp - 0xd0]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bcf00
sub ecx, edx
lea eax, [ebp - 0xd0]
push ecx
add eax, ecx
lea ecx, [ebp - 0x40]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.004ac430
cmp dword [edi + 0x14], 0xf
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
jbe 0x4bcf33
add eax, dword [edi]
mov ecx, dword [edi]
jmp 0x4bcf37
add eax, edi
mov ecx, edi
push ecx
push str.IN._1
push eax
push ecx
lea eax, [ebp - 0x188]
push eax
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x14]
call fcn.004be6d0
mov ecx, dword [ebp - 0x40]
add esp, 0x14
test ecx, ecx
je 0x4bcf8a
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x4bcf8a
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x4bcf87
nop dword [eax]
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x4bcf70
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x40], 0
test ecx, ecx
je 0x4bcfad
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x4bcfad
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
lea eax, [ebp - 0x188]
cmp edi, eax
je 0x4bcfd3
cmp dword [ebp - 0x174], 0xf
mov ecx, edi
push dword [ebp - 0x178]
cmova eax, dword [ebp - 0x188]
push eax
call fcn.0040c060
mov eax, dword [ebp - 0x174]
cmp eax, 0xf
jbe 0x4bcff4
push eax
push dword [ebp - 0x188]
lea eax, [ebp - 0x188]
push eax
call fcn.00414390
add esp, 0xc
mov eax, dword [ebp - 4]
add eax, 0x10
sub esi, 1
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], esi
jne 0x4bce91
mov ecx, dword [ebx + 8]
lea eax, [edi + 0x10]
jmp 0x4bd01c
mov eax, esi
cmp ecx, 2
jne 0x4bd2bd
mov esi, eax
mov dword [ebp - 0x14], 0
test ecx, ecx
mov dword [ebp - 0xc], esi
mov ecx, dword [ebp - 0x2c]
mov eax, str.OUT._1
mov edx, str.IN._1
cmovne eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xcccccccd
mov dword [ebp - 0x18], eax
test eax, eax
je 0x4bd200
lea esi, [ecx + 4]
nop dword [eax]
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x4bd06a
mov eax, dword [esi]
push eax
lea eax, [ebp - 0xd0]
push str._b__s__b
push eax
call fcn.0042a280
mov eax, dword [ebp - 0xc]
xorps xmm0, xmm0
add esp, 0xc
mov dword [ebp - 0x124], 0
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x120], 0xf
mov eax, dword [eax]
mov byte [ebp - 0x134], 0
cmp eax, 0xf
jbe 0x4bd10c
cmp eax, 0x7fffffff
ja 0x4be03f
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x4bd0ca
mov eax, 0x7fffffff
jmp 0x4bd0d5
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.00414510
mov ecx, dword [ebp - 4]
add esp, 8
mov dword [ebp - 0x120], ecx
mov cl, byte [ebp - 0x134]
mov byte [eax], cl
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x124], 0
cmp dword [esi + 0x18], 0
jle 0x4bd121
cmp byte [esi + 0x1c], 0
je 0x4bd121
mov dword [ebp - 4], str.accessArray_1
jmp 0x4bd127
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x40], 0
call fcn.004ab550
lea ecx, [ebp - 0xd0]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bd140
sub ecx, edx
lea eax, [ebp - 0xd0]
push ecx
add eax, ecx
lea ecx, [ebp - 0x40]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.004ac430
cmp dword [edi + 0x14], 0xf
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
jbe 0x4bd173
add eax, dword [edi]
mov ecx, dword [edi]
jmp 0x4bd177
add eax, edi
mov ecx, edi
push ecx
push dword [ebp - 4]
lea edx, [ebp - 0x40]
push eax
push ecx
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x20]
call fcn.004be6d0
add esp, 0x14
lea ecx, [ebp - 0x40]
call fcn.004ab6c0
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x4bd1b6
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x4bd1b6
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
lea eax, [ebp - 0x134]
cmp edi, eax
je 0x4bd1dc
cmp dword [ebp - 0x120], 0xf
mov ecx, edi
push dword [ebp - 0x124]
cmova eax, dword [ebp - 0x134]
push eax
call fcn.0040c060
lea ecx, [ebp - 0x134]
call fcn.004143d0
mov ecx, dword [ebp - 0x14]
add esi, 0x28
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x18]
jb 0x4bd060
lea esi, [edi + 0x10]
mov dword [ebp - 0xc], esi
cmp dword [ebx + 8], 2
jne 0x4bd2bd
push dword [esi]
xorps xmm0, xmm0
mov dword [ebp - 0x1a8], 0
movups xmmword [ebp - 0x1b8], xmm0
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
call fcn.004406b0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x74ed14]
cmp eax, dword [ecx + 0x98]
jg 0x4bdfe7
cmp dword [edi + 0x14], 0xf
mov eax, dword [esi]
jbe 0x4bd263
add eax, dword [edi]
mov ecx, dword [edi]
jmp 0x4bd267
add eax, edi
mov ecx, edi
push ecx
push str.OUT._1
push eax
push ecx
lea eax, [ebp - 0x1b8]
mov edx, 0x74ed18
push eax
lea ecx, [ebp - 4]
call fcn.004be6d0
lea eax, [ebp - 0x1b8]
add esp, 0x14
cmp edi, eax
je 0x4bd2ac
cmp dword [ebp - 0x1a4], 0xf
mov ecx, edi
push dword [ebp - 0x1a8]
cmova eax, dword [ebp - 0x1b8]
push eax
call fcn.0040c060
lea ecx, [ebp - 0x1b8]
call fcn.004143d0
lea esi, [edi + 0x10]
mov dword [ebp - 0xc], esi
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xec]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xcccccccd
mov dword [ebp - 0x18], 0
mov dword [ebp - 8], eax
test eax, eax
je 0x4bd630
mov edx, dword [ebp - 8]
add ecx, 0x1c
mov dword [ebp - 0x20], ecx
xor eax, eax
cmp dword [ecx], 0
je 0x4bd61a
cmp byte [ecx + 4], 0
je 0x4bd61a
cmp dword [ecx - 4], 0xf
lea eax, [ecx - 0x18]
jbe 0x4bd30f
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xa8]
push str._b__s__b
push eax
call fcn.0042a280
mov esi, dword [esi]
xorps xmm0, xmm0
add esp, 0xc
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0xf
movups xmmword [ebp - 0x11c], xmm0
mov byte [ebp - 0x11c], 0
cmp esi, 0xf
jbe 0x4bd3b1
cmp esi, 0x7fffffff
ja 0x4be03f
mov eax, esi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x4bd36f
mov eax, 0x7fffffff
jmp 0x4bd37a
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.00414510
mov ecx, dword [ebp - 4]
add esp, 8
mov dword [ebp - 0x108], ecx
mov cl, byte [ebp - 0x11c]
mov byte [eax], cl
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x10c], 0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x40], 0
call fcn.004ab550
lea ecx, [ebp - 0xa8]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4bd3d0
sub ecx, edx
lea eax, [ebp - 0xa8]
push ecx
add eax, ecx
lea ecx, [ebp - 0x40]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.004ac430
cmp dword [edi + 0x14], 0xf
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
jbe 0x4bd403
add eax, dword [edi]
mov edx, dword [edi]
jmp 0x4bd407
add eax, edi
mov edx, edi
movq xmm0, qword [str.accessArray_1]
xor ecx, ecx
mov word [ebp - 0xba], cx
mov ecx, dword [0x73245c]
mov dword [ebp - 0xc0], ecx
mov cl, byte [0x732460]
push ecx
mov byte [ebp - 0xbc], cl
lea ecx, [ebp - 0xc8]
push ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0xb8], 0xd
push ecx
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0xb4], 0xf
push eax
lea ecx, [ebp - 0x68]
movq qword [ebp - 0xc8], xmm0
mov byte [ebp - 0xbb], 0
call fcn.004bf530
mov ecx, dword [ebp - 0xb4]
add esp, 0x14
cmp ecx, 0xf
jbe 0x4bd4ac
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bd4a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be09c
push ecx
push edx
call fcn.005ab85c
add esp, 8
lea ecx, [ebp - 0x40]
call fcn.004ab6c0
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x4bd4d0
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x4bd4d0
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
lea eax, [ebp - 0x11c]
cmp edi, eax
je 0x4bd5d7
cmp dword [ebp - 0x108], 0xf
mov ecx, eax
mov edx, dword [edi + 0x14]
cmova ecx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x10c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], edx
cmp esi, edx
ja 0x4bd52c
mov dword [ebp - 4], edi
mov eax, edi
cmp edx, 0xf
jbe 0x4bd510
mov eax, dword [edi]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0xc]
push esi
push ecx
push eax
mov dword [edx], esi
call fcn.005c3580
mov eax, dword [ebp - 4]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x4bd5d7
cmp esi, 0x7fffffff
ja 0x4be03f
mov ecx, esi
or ecx, 0xf
cmp ecx, 0x7fffffff
jbe 0x4bd54c
mov ecx, 0x7fffffff
jmp 0x4bd570
mov eax, edx
shr eax, 1
mov dword [ebp - 4], eax
mov eax, 0x7fffffff
sub eax, dword [ebp - 4]
cmp edx, eax
jbe 0x4bd566
mov ecx, 0x7fffffff
jmp 0x4bd570
mov eax, dword [ebp - 4]
add eax, edx
cmp ecx, eax
cmovb ecx, eax
lea eax, [ebp - 4]
mov dword [ebp - 4], ecx
push eax
push edi
call fcn.00414510
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
push esi
push dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
push eax
mov dword [edx], esi
mov dword [edi + 0x14], ecx
call fcn.005c3580
mov eax, dword [ebp - 0x14]
add esp, 0x14
mov ecx, dword [ebp - 0x1c]
mov byte [eax + esi], 0
cmp ecx, 0xf
jbe 0x4bd5d5
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x4bd5c8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be09c
mov eax, edx
push ecx
push eax
call fcn.005ab85c
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [edi], eax
mov ecx, dword [ebp - 0x108]
cmp ecx, 0xf
jbe 0x4bd611
mov edx, dword [ebp - 0x11c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bd607
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be09c
push ecx
push edx
call fcn.005ab85c
add esp, 8
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc eax
add ecx, 0x28
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], ecx
cmp eax, edx
jae 0x4bd630
mov esi, dword [ebp - 0xc]
jmp 0x4bd2f1
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x74ed2c]
cmp eax, dword [ecx + 0x98]
jg 0x4be044
mov eax, dword [0x73248c]
lea ecx, [ebp - 0x104]
cmp dword [ebp - 0xf0], 0xf
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc0], eax
xorps xmm0, xmm0
mov ax, word [0x732490]
cmova ecx, dword [ebp - 0x104]
mov word [ebp - 0xbc], ax
mov al, byte [0x732492]
mov byte [ebp - 0xba], al
mov eax, dword [ebp - 0xf4]
add eax, ecx
mov dword [ebp - 0x34], 0
cmp dword [ebp - 0xf0], 0xf
lea ecx, [ebp - 0x104]
movups xmmword [ebp - 0x44], xmm0
cmova ecx, dword [ebp - 0x104]
movq xmm0, qword [str.static_const__1]
push ecx
push edx
push 0x74ed30
push eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x30], 0xf
mov edx, ecx
mov byte [ebp - 0x44], 0
push eax
lea ecx, [ebp - 0x68]
mov dword [ebp - 0xb8], 0xf
mov dword [ebp - 0xb4], 0xf
movq qword [ebp - 0xc8], xmm0
mov byte [ebp - 0xb9], 0
call fcn.004bf380
mov ecx, dword [ebp - 0xb4]
add esp, 0x14
cmp ecx, 0xf
jbe 0x4bd739
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bd72f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be09c
push ecx
push edx
call fcn.005ab85c
add esp, 8
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0xf
jbe 0x4bd773
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bd769
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be09c
push ecx
push edx
call fcn.005ab85c
add esp, 8
movups xmm0, xmmword [ebp - 0x44]
mov edx, dword [edi + 0x10]
mov eax, 0x7fffffff
movups xmmword [ebp - 0x104], xmm0
movq xmm0, qword [ebp - 0x34]
movq qword [ebp - 0xf4], xmm0
mov esi, dword [ebp - 0xf4]
sub eax, esi
cmp eax, edx
jb 0x4be03f
cmp dword [ebp - 0xf0], 0xf
lea eax, [ebp - 0x104]
mov ecx, edi
cmova eax, dword [ebp - 0x104]
cmp dword [edi + 0x14], 0xf
jbe 0x4bd7c1
mov ecx, dword [edi]
push edx
push ecx
push esi
push eax
push ecx
push dword [ebp - 0x68]
lea ecx, [ebp - 0x1d0]
call fcn.0042d1a0
lea eax, [ebp - 0x1d0]
cmp edi, eax
je 0x4bd836
mov ecx, dword [edi + 0x14]
cmp ecx, 0xf
jbe 0x4bd811
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x4bd807
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be0a1
mov eax, edx
push ecx
push eax
call fcn.005ab85c
add esp, 8
movups xmm0, xmmword [ebp - 0x1d0]
mov ecx, 0xf
mov byte [ebp - 0x1d0], 0
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x1c0]
movq qword [edi + 0x10], xmm0
jmp 0x4bd83c
mov ecx, dword [ebp - 0x1bc]
cmp ecx, 0xf
jbe 0x4bd870
mov edx, dword [ebp - 0x1d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bd866
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be0a1
push ecx
push edx
call fcn.005ab85c
add esp, 8
cmp dword [ebx + 8], 1
je 0x4bd9d1
cmp dword [edi + 0x14], 0xf
mov ecx, edi
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x14], edi
jbe 0x4bd88d
mov ecx, dword [edi]
mov dword [ebp - 0x14], ecx
cmp eax, 5
jb 0x4bd920
add eax, 0xfffffffc
add eax, ecx
mov dword [ebp - 0x10], eax
sub eax, ecx
push eax
push 0x6d
push ecx
call fcn.005c3b00
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x4bd920
mov edx, ecx
mov dword [ebp - 4], 1
mov esi, str.main_
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x4bd8d3
add edx, 4
mov dword [ebp - 4], 0xfffffffd
add esi, 4
mov al, byte [edx]
cmp al, byte [esi]
jne 0x4bd8fb
cmp dword [ebp - 4], 0xfffffffd
je 0x4bd8f7
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x4bd8fb
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x4bd8fb
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
jne 0x4bd8fb
xor eax, eax
jmp 0x4bd900
sbb eax, eax
or eax, 1
test eax, eax
je 0x4bda03
mov eax, dword [ebp - 0x10]
inc ecx
sub eax, ecx
push eax
push 0x6d
push ecx
call fcn.005c3b00
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x4bd8b2
or ecx, 0xffffffff
cmp dword [edi + 0x14], 0xf
mov edx, edi
mov eax, dword [edi + 0x10]
jbe 0x4bd930
mov edx, dword [edi]
test eax, eax
je 0x4bd9d1
or esi, 0xffffffff
dec eax
cmp eax, esi
cmovb esi, eax
add esi, edx
cmp byte [esi], 0x7d
je 0x4bd956
cmp esi, edx
je 0x4bd9d1
dec esi
cmp byte [esi], 0x7d
jne 0x4bd948
sub esi, edx
cmp esi, 0xffffffff
je 0x4bd9d1
cmp esi, ecx
jbe 0x4bd9d1
mov ecx, dword [ebp - 0x190]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 0xd
jb 0x4be03f
cmp dword [ebp - 0x18c], 0xf
lea eax, [ebp - 0x1a0]
push 0xd
cmova eax, dword [ebp - 0x1a0]
push str._treturn_OUT__n
push ecx
push eax
push ecx
push dword [ebp - 0x68]
lea ecx, [ebp - 0xc8]
call fcn.0042d1a0
cmp dword [ebp - 0xb4], 0xf
lea eax, [ebp - 0xc8]
push dword [ebp - 0xb8]
cmova eax, dword [ebp - 0xc8]
mov ecx, edi
push eax
push esi
call fcn.0042bd10
lea ecx, [ebp - 0xc8]
call fcn.004143d0
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0xf
jbe 0x4bda15
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bda0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be0a1
jmp 0x4bda0b
sub ecx, dword [ebp - 0x14]
jmp 0x4bd923
push ecx
push edx
call fcn.005ab85c
add esp, 8
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x298], 0x720528
mov dword [ebp - 0x288], 0x720520
call fcn.0040d540
push ecx
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x298]
call fcn.0040d420
mov eax, dword [ebp - 0x298]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x298], 0x720530
mov eax, dword [ebp - 0x298]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x29c], eax
lea ecx, [ebp - 0x280]
call fcn.0040de20
mov edx, str.define_vec2_float2_ndefine_vec3_float3_ndefine_vec4_float4_ndefine_uvec4_uint4_ndefine_mat4_float4x4_ndefine_mat4x3_float4x3_ndefine_mat3_float3x3_ndefine_mat2_float2x2_ndefine_mix_lerp_ndefine_mod_x__y____x___y_floor__x___y____ndefine_CASTI_x____int__x___ndefine_CASTU_x____uint__x___ndefine_CASTF_x____float__x___ndefine_CAST2_x____float2__x___ndefine_CAST3_x____float3__x___ndefine_CAST4U_x____uint4__x___ndefine_CAST4_x____float4__x___ndefine_CAST3X3_x____float3x3__x___ndefine_DECLARE_SAMPLER2D_PARAMETER_t__Texture2D_t__SamplerState_t__SamplerState_ndefine_MAKE_SAMPLER2D_ARGUMENT_t__t__t__SamplerState_ndefine_DECLARE_SAMPLER2D_COMPARE_PARAMETER_t__Texture2D_t__SamplerComparisonState_t__SamplerComparisonState_ndefine_MAKE_SAMPLER2D_COMPARE_ARGUMENT_t__t__t__SamplerComparisonState_ndefine_texSample2D_s__u__s.Sample_s__SamplerState__u__ndefine_texSample2DLod_s__u__m__s.SampleLevel_s___SamplerState__u__m__ndefine_texSample2DCompare_s__u__d__s.SampleCmpLevelZero_s__SamplerComparisonState__u__d__ndefine_texLoad2D_s__u__r__s.Load_int3__u____r___0___n
mov dword [ebp - 0x280], 0x720534
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0
call fcn.0040e220
mov eax, dword [ebp - 0x48]
lea esi, [ebp - 0x44]
movq xmm0, qword [str.BACKBUFFER_MS]
mov ecx, 0xf
mov dword [ebp - 0x30], ecx
mov edx, 0x811c9dc5
xor ecx, ecx
mov dword [ebp - 0x34], 0xd
mov eax, dword [eax]
mov dword [ebp - 8], eax
xor eax, eax
mov word [ebp - 0x36], ax
mov eax, dword [0x732190]
mov dword [ebp - 0x3c], eax
mov al, byte [0x732194]
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 8]
movq qword [ebp - 0x44], xmm0
mov byte [ebp - 0x37], 0
mov dword [ebp - 4], eax
cmp dword [ebp - 0x34], ecx
jbe 0x4bdb1f
lea edi, [ecx + 0xd]
nop dword [eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x4bdb00
mov eax, dword [ebp - 0x48]
mov edi, dword [ebx + 0x10]
mov eax, dword [eax]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
push edx
lea ecx, [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, eax
call fcn.004100f0
mov esi, dword [eax + 4]
test esi, esi
je 0x4bdb3e
mov eax, dword [ebp - 4]
add eax, 4
jmp 0x4bdb46
mov eax, dword [ebp - 8]
add eax, 4
mov esi, dword [eax]
cmp esi, dword [eax]
mov ecx, str.define_texSample2DBackBuffer_s__u__r__s.Load_int2__u____r____0__n
mov edx, str.define_texSample2DBackBuffer_s__u__r__texSample2D_s___u___n
cmovne edx, ecx
lea ecx, [ebp - 0x288]
call fcn.0040e220
mov eax, dword [ebx + 8]
test eax, eax
jne 0x4bdb9d
lea edx, [ebp - 0x298]
lea ecx, [ebp - 0xe0]
call fcn.004bb2d0
lea eax, [ebp - 0x298]
push eax
push 0
lea edx, [ebp - 0x2c]
call fcn.004bb500
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0x4c], eax
jmp 0x4bdc96
cmp eax, 1
jne 0x4bdbd2
lea eax, [ebp - 0x298]
push eax
push 1
lea edx, [ebp - 0x2c]
call fcn.004bb500
lea eax, [ebp - 0x298]
push eax
push 2
lea edx, [ebp - 0x2c]
call fcn.004bb500
mov esi, dword [ebp - 0xd4]
add esp, 0x10
jmp 0x4bdc99
cmp dword [edi + 0x14], 0xf
mov ecx, edi
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x18], edi
jbe 0x4bdbe5
mov ecx, dword [edi]
mov dword [ebp - 0x18], ecx
cmp eax, 0xc
jb 0x4bdc6f
add eax, 0xfffffff4
mov edx, 0xffffffff
cmp eax, 0xffffffff
cmovb edx, eax
add edx, ecx
cmp byte [edx], 0x67
mov dword [ebp - 8], edx
jne 0x4bdc58
mov ecx, edx
mov esi, 8
mov edx, str.gl_FragColor
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4bdc27
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4bdc12
xor eax, eax
jmp 0x4bdc4e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4bdc49
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4bdc49
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4bdc49
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4bdc49
xor eax, eax
jmp 0x4bdc4e
sbb eax, eax
or eax, 1
test eax, eax
je 0x4bdc5f
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
cmp edx, ecx
je 0x4bdc6f
dec edx
jmp 0x4bdbfe
mov eax, dword [ebp - 8]
mov edx, str.struct_PS_OUTPUT_n_nfloat4_gl_FragColor_:_SV_TARGET__n__n
sub eax, dword [ebp - 0x18]
cmp eax, 0xffffffff
jne 0x4bdc74
mov edx, str.struct_PS_OUTPUT___n
lea ecx, [ebp - 0x288]
call fcn.0040e220
lea eax, [ebp - 0x298]
push eax
push 0
lea edx, [ebp - 0x2c]
call fcn.004bb500
mov esi, dword [ebp - 0xd4]
add esp, 8
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0xec]
call fcn.004ba820
add esp, 4
mov edx, edi
cmp dword [edi + 0x14], 0xf
jbe 0x4bdcbb
mov edx, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0x288]
call fcn.0040fee0
add esp, 4
lea eax, [ebp - 0x1e8]
lea ecx, [ebp - 0x280]
push eax
call fcn.0040d4a0
lea eax, [ebp - 0x1e8]
cmp edi, eax
je 0x4bdd14
mov ecx, edi
call fcn.004143d0
movups xmm0, xmmword [ebp - 0x1e8]
mov ecx, 0xf
mov byte [ebp - 0x1e8], 0
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x1d8]
movq qword [edi + 0x10], xmm0
jmp 0x4bdd1a
mov ecx, dword [ebp - 0x1d4]
cmp ecx, 0xf
jbe 0x4bdd4e
mov edx, dword [ebp - 0x1e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bdd44
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be0a6
push ecx
push edx
call fcn.005ab85c
add esp, 8
lea ecx, [ebp - 0x298]
call fcn.00404ea0
mov eax, dword [ebp - 0x74]
cmp eax, 0xf
jbe 0x4bdd92
mov edx, dword [ebp - 0x88]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x4bdd88
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be0a6
push ecx
push edx
call fcn.005ab85c
add esp, 8
mov ecx, dword [ebp - 0x18c]
cmp ecx, 0xf
jbe 0x4bddcc
mov edx, dword [ebp - 0x1a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bddc2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be0a6
push ecx
push edx
call fcn.005ab85c
add esp, 8
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp ecx, 0xf
jbe 0x4bde21
mov edx, dword [ebp - 0x14c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bde17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be0a6
push ecx
push edx
call fcn.005ab85c
add esp, 8
lea ecx, [ebp - 0x3f8]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0xf
mov byte [ebp - 0x14c], 0
call fcn.00404ea0
lea ecx, [ebp - 0x348]
call fcn.00404ea0
mov ecx, dword [ebp - 0x50]
cmp ecx, 0xf
jbe 0x4bde86
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4bde7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be0a6
push ecx
push edx
call fcn.005ab85c
add esp, 8
lea ecx, [ebp - 0x4a0]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00414750
lea ecx, [ebp - 0x158]
call fcn.004be220
lea ecx, [ebp - 0xec]
call fcn.004be220
lea ecx, [ebp - 0x2c]
call fcn.004be220
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4bdef5
sub esi, ecx
mov eax, ecx
and esi, 0xfffffff0
cmp esi, 0x1000
jb 0x4bdeeb
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4be0a6
push esi
push ecx
call fcn.005ab85c
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00410570
push str.invalid_unordered_map_K__T__key
call fcn.005acbb4
push 0x74ece0
call fcn.005ab9bf
add esp, 4
cmp dword [0x74ece0], 0xffffffff
jne 0x4bc9c6
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x1f
push eax
push 0x74ece4
call fcn.00414510
movups xmm0, xmmword [str._input:triangles_]
mov ecx, dword [ebp - 8]
mov dword [0x74ecf8], ecx
mov dword [0x74ece4], eax
mov dword [0x74ecf4], 0x11
movups xmmword [eax], xmm0
mov cl, byte [0x732328]
mov byte [eax + 0x10], cl
push 0x6da260
mov byte [eax + 0x11], 0
call fcn.005abc5f
add esp, 0xc
push 0x74ece0
call fcn.005ab96e
add esp, 4
jmp 0x4bc9c6
push 0x74ecfc
call fcn.005ab9bf
add esp, 4
cmp dword [0x74ecfc], 0xffffffff
jne 0x4bcbda
mov ecx, 0x74ed04
call fcn.004ab550
push ecx
push 0x73242c
push str._bvoid__s_main__s____s____s_r_n_
mov ecx, 0x74ed00
call fcn.004ac430
push 0x6da230
call fcn.005abc5f
add esp, 4
push 0x74ecfc
call fcn.005ab96e
add esp, 4
jmp 0x4bcbda
call fcn.0040e000
push 0x74ed14
call fcn.005ab9bf
add esp, 4
cmp dword [0x74ed14], 0xffffffff
jne 0x4bd255
mov ecx, 0x74ed1c
call fcn.004ab550
push ecx
push 0x732476
push str._b_gl_FragColor__b
mov ecx, 0x74ed18
call fcn.004ac430
push 0x6da200
call fcn.005abc5f
add esp, 4
push 0x74ed14
call fcn.005ab96e
add esp, 4
jmp 0x4bd255
call fcn.00414440
push 0x74ed2c
call fcn.005ab9bf
add esp, 4
cmp dword [0x74ed2c], 0xffffffff
jne 0x4bd649
mov ecx, 0x74ed34
call fcn.004ab550
push ecx
push 0x732483
push str._sconst_b
mov ecx, 0x74ed30
call fcn.004ac430
push 0x6da1d0
call fcn.005abc5f
add esp, 4
push 0x74ed2c
call fcn.005ab96e
add esp, 4
jmp 0x4bd649
call fcn.005c695f
call fcn.005c695f
call fcn.005c695f
int3