Function at 0x580180
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x170
mov eax, dword [0x641a90]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x84], 0x80
push dword [ebx]
movsx ax, byte [ebx + 0x15]
push dword [ebx + 4]
mov dword [ebp - 0x80], 0x40
mov dword [ebp - 0x7c], 0x20
movzx eax, ax
push eax
movzx eax, word [ebx + 0xc]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x78], 0x10
push eax
mov dword [ebp - 0x74], 8
mov dword [ebp - 0x70], 4
mov dword [ebp - 0x6c], 2
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x64], 0x8000
mov dword [ebp - 0x60], 0x4000
mov dword [ebp - 0x5c], 0x2000
mov dword [ebp - 0x58], 0x1000
mov dword [ebp - 0x54], 0x800
mov dword [ebp - 0x50], 0x400
mov dword [ebp - 0x4c], 0x200
mov dword [ebp - 0x48], 0x100
mov dword [ebp - 0x44], 0x800000
mov dword [ebp - 0x40], 0x400000
mov dword [ebp - 0x3c], 0x200000
mov dword [ebp - 0x38], 0x100000
mov dword [ebp - 0x34], 0x80000
mov dword [ebp - 0x30], 0x40000
mov dword [ebp - 0x2c], 0x20000
mov dword [ebp - 0x28], 0x10000
mov dword [ebp - 0x24], 0x80000000
mov dword [ebp - 0x20], 0x40000000
mov dword [ebp - 0x1c], 0x20000000
mov dword [ebp - 0x18], 0x10000000
mov dword [ebp - 0x14], 0x8000000
mov dword [ebp - 0x10], 0x4000000
mov dword [ebp - 0xc], 0x2000000
mov dword [ebp - 8], 0x1000000
call fcn.00459c40
add esp, 0x14
test ax, ax
jne 0x5802c4
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
movzx eax, word [ebx + 0x20]
push esi
mov word [ebp - 0x150], ax
movzx eax, word [ebx + 0x22]
push edi
mov word [ebp - 0x14e], ax
lea eax, [ebp - 0x170]
push ebx
push eax
call fcn.0045a490
mov esi, dword [ebx + 4]
xor edi, edi
mov edx, dword [ebx + 8]
add esp, 8
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x16c]
mov ebx, dword [ebp - 0x168]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], edi
test esi, esi
jle 0x580518
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
mov edx, dword [ebp - 0x124]
neg edx
sar eax, 5
shl edx, 5
mov dword [ebp - 0x130], edx
lea edx, [esi - 1]
imul edx, dword [ebp - 0x124]
shl eax, 2
mov dword [ebp - 0x11c], eax
xor eax, eax
mov dword [ebp - 0x114], edx
xor edx, edx
lea esi, [ecx - 0x20]
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x11c], edx
jle 0x5804e9
mov eax, ebx
shl eax, 5
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x138]
sub eax, esi
dec eax
imul eax, ebx
mov dword [ebp - 0x118], eax
mov edi, edi
mov ecx, dword [ebp - 0x108]
xorps xmm0, xmm0
mov ebx, dword [ebp - 0x114]
add ebx, edx
movdqu xmmword [ebp - 0x104], xmm0
add ebx, dword [ecx + 0x28]
xor edi, edi
movdqu xmmword [ebp - 0xf4], xmm0
movdqu xmmword [ebp - 0xe4], xmm0
movdqu xmmword [ebp - 0xd4], xmm0
movdqu xmmword [ebp - 0xc4], xmm0
movdqu xmmword [ebp - 0xb4], xmm0
movdqu xmmword [ebp - 0xa4], xmm0
movdqu xmmword [ebp - 0x94], xmm0
jmp 0x580400
mov eax, dword [ebp - 0x10c]
mov edx, dword [ebp + edi*4 - 0x84]
add eax, edi
cmp eax, dword [ecx + 4]
jge 0x580457
mov ecx, dword [ebx]
lea eax, [ebp - 0x8c]
xor esi, esi
mov edi, edi
test dword [ebp + esi*4 - 0x84], ecx
je 0x58042c
or dword [eax + 4], edx
test dword [ebp + esi*4 - 0x80], ecx
je 0x580434
or dword [eax], edx
test dword [ebp + esi*4 - 0x7c], ecx
je 0x58043d
or dword [eax - 4], edx
test dword [ebp + esi*4 - 0x78], ecx
je 0x580446
or dword [eax - 8], edx
add esi, 4
sub eax, 0x10
cmp esi, 0x20
jl 0x580420
mov ecx, dword [ebp - 0x108]
sub ebx, dword [ebp - 0x124]
inc edi
cmp edi, 0x20
jl 0x580400
mov edx, dword [ebp - 0x148]
add edx, dword [ebp - 0x110]
add edx, dword [ebp - 0x118]
xor ecx, ecx
mov esi, dword [ebp - 0x128]
mov ebx, dword [ebp - 0x120]
lea eax, [ecx + esi]
test eax, eax
js 0x580493
mov eax, dword [ebp + ecx*4 - 0x104]
mov dword [edx], eax
inc ecx
sub edx, ebx
cmp ecx, 0x20
jl 0x580483
mov edx, dword [ebp - 0x12c]
sub esi, 0x20
mov ebx, dword [ebp - 0x118]
add edx, 4
add ebx, dword [ebp - 0x13c]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x118], ebx
cmp edx, dword [ebp - 0x11c]
jl 0x5803a0
mov ecx, dword [ebp - 0x16c]
mov ebx, dword [ebp - 0x120]
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
mov esi, dword [ebp - 0x108]
add edi, 0x20
mov edx, dword [ebp - 0x130]
add eax, 4
add dword [ebp - 0x114], edx
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], edi
cmp edi, dword [esi + 4]
jl 0x580364
jmp 0x58051e
mov esi, dword [ebp - 0x108]
movzx ecx, word [ebp - 0x158]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x158], eax
movsx eax, cx
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x154], eax
test ecx, ecx
jne 0x58058f
push esi
call fcn.0045b520
movdqu xmm0, xmmword [ebp - 0x170]
mov eax, dword [ebp - 0x140]
add esp, 4
movdqu xmmword [esi], xmm0
movdqu xmm0, xmmword [ebp - 0x160]
pop edi
movdqu xmmword [esi + 0x10], xmm0
movdqu xmm0, xmmword [ebp - 0x150]
movdqu xmmword [esi + 0x20], xmm0
mov dword [esi + 0x30], eax
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
movdqu xmm0, xmmword [ebp - 0x170]
mov eax, dword [ebp - 0x140]
pop edi
movdqu xmmword [ecx], xmm0
pop esi
movdqu xmm0, xmmword [ebp - 0x160]
pop ebx
movdqu xmmword [ecx + 0x10], xmm0
movdqu xmm0, xmmword [ebp - 0x150]
movdqu xmmword [ecx + 0x20], xmm0
mov dword [ecx + 0x30], eax
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret