Function at 0x8377e9e6
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x87100004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x18]
xor eax, eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x40], edi
and dword [ebp - 0x40], 1
cmp dword [ebp - 0x40], 1
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x48], ecx
sete cl
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x28], cl
mov dword [ebp - 0x14], esi
cmp esi, eax
je 0x8377f180
mov edx, dword [0x87100000]
mov dword [ebp - 0x2c], edi
and dword [ebp - 0x2c], 2
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + 4]
mov eax, dword [esi + 4]
test byte [eax + 6], 5
mov dword [ebp - 0x60], edi
je 0x8377ea78
mov ecx, dword [eax + 0xc]
jmp 0x8377ea8f
xor ecx, ecx
push ecx
push ecx
push ecx
push 1
push ecx
push eax
call dword [0x870f415c]
mov edx, dword [0x87100000]
mov ecx, eax
mov eax, dword [esi + 8]
add eax, ecx
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
je 0x8377ee2f
cmp ecx, 1
je 0x8377ebfb
cmp ecx, 9
je 0x8377eac4
cmp ecx, 0xf
je 0x8377eaf8
cmp ecx, 0x11
jle 0x8377eb69
cmp ecx, 0x13
jg 0x8377eb69
xor eax, eax
cmp word [edi + 0x30], 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov ax, word [eax + 0x6c]
mov ch, al
mov cl, ah
movzx esi, cx
jne 0x8377ebf1
mov eax, 0x800
cmp si, ax
sete al
jmp 0x8377efc7
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov ax, word [eax + 0x6c]
mov ch, al
mov cl, ah
mov eax, dword [edi + 0x144]
movzx esi, cx
xor ecx, ecx
test eax, eax
jbe 0x8377eb33
add edi, 0x148
cmp si, word [edi]
je 0x8377efd3
inc ecx
inc edi
inc edi
cmp ecx, eax
jb 0x8377eb23
cmp edx, 0x87100000
je 0x8377eb69
cmp byte [edx + 0x1d], 4
jb 0x8377eb69
test byte [edx + 0x20], 2
je 0x8377eb69
movzx eax, si
push eax
push dword [ebx + 0x1c8]
push 0x870ff074
push 0x12
push dword [edx + 0x14]
push dword [edx + 0x10]
call fcn.837ae3c7
mov edx, dword [0x87100000]
cmp dword [ebp - 0x2c], 0
jne 0x8377eb80
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov dword [ecx], eax
mov edx, dword [0x87100000]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x8377ea56
mov edx, dword [ebp - 0x54]
xor edi, edi
cmp edx, edi
jbe 0x8377f111
mov ecx, dword [ebx + 0x24]
call dword [0x870f4018]
test al, al
jne 0x8377f111
mov eax, dword [0x87100000]
cmp eax, 0x87100000
je 0x8377ebdc
cmp byte [eax + 0x1d], 4
jb 0x8377ebdc
test byte [eax + 0x20], 2
je 0x8377ebdc
push dword [ebx + 0x1c8]
push 0x870ff074
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.837966dc
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x24]
mov dword [eax], edi
jmp 0x8377f100
mov eax, 0x86dd
jmp 0x8377eaed
mov esi, dword [esi + 0xc]
and dword [ebp - 0x3c], 0
mov dword [ebp - 0x18], 0xe
mov dword [ebp - 0x20], esi
cmp esi, 0xe
jb 0x8377eedc
lea esi, [eax + 2]
test byte [esi], 0x80
mov dword [ebp - 0x34], esi
je 0x8377ec3b
xor ebx, ebx
push 3
pop ecx
mov edi, 0x870fed1c
repe cmpsw word [esi], word es:[edi]
mov edi, dword [ebp - 0x60]
sete bl
inc ebx
mov ecx, ebx
mov ebx, dword [ebp - 0x10]
jmp 0x8377ec3d
xor ecx, ecx
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x8377ecad
movzx ecx, byte [ebx + 0x1f5]
lea esi, [eax + 8]
lea edi, [ebp - 0xc]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
and byte [ebp - 0xc], 0x7f
lea edi, [ebx + 0x2c4]
lea esi, [ebp - 0xc]
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x8377eca7
mov ebx, dword [ebp - 0x10]
cmp edx, 0x87100000
je 0x8377eb69
cmp byte [edx + 0x1d], 3
jb 0x8377eb69
test byte [edx + 0x20], 2
je 0x8377eb69
push dword [ebx + 0x1c8]
push 0x870ff074
push 0xe
push dword [edx + 0x14]
push dword [edx + 0x10]
call fcn.837966dc
jmp 0x8377eb63
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x60]
test byte [eax + 8], 0x80
je 0x8377ed15
cmp dword [ebp - 0x20], 0x10
lea ecx, [eax + 0xe]
mov dword [ebp - 0x3c], ecx
jb 0x8377eedc
mov cl, byte [ecx]
mov byte [ebp - 0x19], cl
and cl, 0x1f
mov byte [ebp - 0x1a], cl
cmp cl, 2
jb 0x8377eda8
cmp cl, 0x12
ja 0x8377eda8
movzx ecx, byte [ebp - 0x19]
and ecx, 0x1f
and ecx, 0x80000001
jns 0x8377ecf4
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x8377eda8
movzx cx, byte [ebp - 0x1a]
add cx, 0xe
movzx ecx, cx
mov dword [ebp - 0x18], ecx
movzx ecx, cx
cmp dword [ebp - 0x20], ecx
jb 0x8377eedc
movzx esi, word [ebp - 0x18]
add dword [ebp - 0x18], 8
add esi, eax
movzx eax, word [ebp - 0x18]
cmp dword [ebp - 0x20], eax
jb 0x8377eedc
cmp byte [esi], 0xaa
jne 0x8377edfd
cmp byte [esi + 1], 0xaa
jne 0x8377edfd
cmp byte [esi + 2], 3
jne 0x8377edfd
mov ax, word [esi + 6]
mov ch, al
mov cl, ah
mov eax, dword [edi + 0x144]
movzx esi, cx
xor ecx, ecx
test eax, eax
jbe 0x8377ed72
add edi, 0x148
cmp si, word [edi]
je 0x8377edda
inc ecx
inc edi
inc edi
cmp ecx, eax
jb 0x8377ed66
cmp edx, 0x87100000
je 0x8377eb69
cmp byte [edx + 0x1d], 4
jb 0x8377eb69
test byte [edx + 0x20], 2
je 0x8377eb69
movzx eax, si
push eax
push dword [ebx + 0x1c8]
push 0x870ff074
push 0x11
jmp 0x8377eb58
cmp edx, 0x87100000
je 0x8377eb69
cmp byte [edx + 0x1d], 4
jb 0x8377eb69
test byte [edx + 0x20], 2
je 0x8377eb69
push dword [ebx + 0x1c8]
push 0x870ff074
push 0xf
jmp 0x8377ec97
cmp dword [ebp - 0x3c], 0
je 0x8377efd3
mov edi, dword [ebp - 0x3c]
mov al, byte [edi + 1]
mov cl, al
not cl
xor cl, al
and cl, 1
xor cl, al
mov byte [edi + 1], cl
jmp 0x8377efd3
cmp edx, 0x87100000
je 0x8377eb69
cmp byte [edx + 0x1d], 4
jb 0x8377eb69
test byte [edx + 0x20], 2
je 0x8377eb69
push dword [ebx + 0x1c8]
push 0x870ff074
push 0x10
jmp 0x8377ec97
mov esi, dword [esi + 0xc]
push 0xe
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], esi
cmp esi, ecx
jb 0x8377eedc
test byte [eax], 1
mov dword [ebp - 0x34], eax
je 0x8377ee65
xor ebx, ebx
push 3
pop ecx
mov edi, 0x870fed1c
mov esi, eax
repe cmpsw word [esi], word es:[edi]
sete bl
inc ebx
mov ecx, ebx
mov ebx, dword [ebp - 0x10]
jmp 0x8377ee67
xor ecx, ecx
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x8377eeb9
movzx ecx, byte [ebx + 0x1f5]
lea edi, [ebx + 0x2c4]
lea esi, [eax + 6]
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x8377eeb9
mov ebx, dword [ebp - 0x10]
cmp edx, 0x87100000
je 0x8377eb69
cmp byte [edx + 0x1d], 3
jb 0x8377eb69
test byte [edx + 0x20], 2
je 0x8377eb69
push dword [ebx + 0x1c8]
push 0x870ff074
push 0xb
jmp 0x8377ec97
mov cx, word [eax + 0xc]
mov bh, cl
mov bl, ch
mov ecx, 0x600
movzx esi, bx
cmp si, cx
ja 0x8377ef2e
push 0x16
pop ecx
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x20], ecx
jae 0x8377ef11
mov ebx, dword [ebp - 0x10]
cmp edx, 0x87100000
je 0x8377eb69
cmp byte [edx + 0x1d], 4
jb 0x8377eb69
test byte [edx + 0x20], 2
je 0x8377eb69
push dword [ebp - 0x20]
push dword [ebx + 0x1c8]
push 0x870ff074
push 0x13
jmp 0x8377eb58
cmp byte [eax + 0xe], 0xaa
jne 0x8377ef8d
cmp byte [eax + 0xf], 0xaa
jne 0x8377ef8d
cmp byte [eax + 0x10], 3
jne 0x8377ef8d
mov ax, word [eax + 0x14]
mov ch, al
mov cl, ah
movzx esi, cx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x144]
xor edi, edi
test ecx, ecx
jbe 0x8377ef52
add eax, 0x148
cmp si, word [eax]
je 0x8377efd0
inc edi
inc eax
inc eax
cmp edi, ecx
jb 0x8377ef42
cmp edx, 0x87100000
je 0x8377efc2
cmp byte [edx + 0x1d], 4
jb 0x8377efc2
test byte [edx + 0x20], 2
je 0x8377efc2
mov ebx, dword [ebp - 0x10]
movzx eax, si
push eax
push dword [ebx + 0x1c8]
push 0x870ff074
push 0xd
push dword [edx + 0x14]
push dword [edx + 0x10]
call fcn.837ae3c7
mov edx, dword [0x87100000]
jmp 0x8377efc5
mov ebx, dword [ebp - 0x10]
cmp edx, 0x87100000
je 0x8377eb69
cmp byte [edx + 0x1d], 4
jb 0x8377eb69
test byte [edx + 0x20], 2
je 0x8377eb69
push dword [ebx + 0x1c8]
push 0x870ff074
push 0xc
jmp 0x8377ec97
mov ebx, dword [ebp - 0x10]
xor al, al
test al, al
jne 0x8377efd3
jmp 0x8377eb69
mov ebx, dword [ebp - 0x10]
test byte [ebx + 0x60], 0x24
je 0x8377eff9
test byte [ebx + 0x220], 0x20
jne 0x8377eff9
push dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
push ebx
call 0x837dea51
test al, al
je 0x8377eb63
cmp dword [ebp - 0x2c], 2
jne 0x8377f061
push dword [ebp - 0x28]
push ebx
push 0x870f300e
push dword [ebp - 0x14]
call fcn.837b2115
mov edi, eax
mov dword [ebp - 0x14], edi
test edi, edi
jne 0x8377f05c
mov edx, dword [0x87100000]
cmp edx, 0x87100000
je 0x8377eb80
cmp byte [edx + 0x1d], 3
jb 0x8377eb80
test byte [edx + 0x20], 2
je 0x8377eb80
push dword [ebx + 0x1c8]
push 0x870ff074
push 0x19
push dword [edx + 0x14]
push dword [edx + 0x10]
call fcn.837966dc
jmp 0x8377eb7a
inc dword [ebp - 0x5c]
jmp 0x8377f079
mov edi, dword [ebp - 0x14]
push ebx
push 0x8708dab1
push 0
push edi
call fcn.8377a324
or dword [edi + 0x48], 0x20000000
push ebx
push edi
call fcn.8377967c
cmp dword [ebp - 0x30], 0
je 0x8377f08d
or dword [edi + 0x48], 0x40000000
movzx ecx, word [ebp - 0x18]
inc dword [ebp - 0x54]
and dword [edi + 0x4c], 0
mov eax, dword [edi + 4]
test ecx, ecx
je 0x8377f0c3
mov edx, dword [eax + 8]
mov edi, dword [eax + 4]
add edx, ecx
cmp edx, dword [edi + 0x14]
jae 0x8377f0b7
add dword [eax + 0x14], ecx
sub dword [eax + 0xc], ecx
mov dword [eax + 8], edx
jmp 0x8377f0c3
push 0
push 0
push ecx
push eax
call dword [0x870f4728]
mov eax, dword [ebp - 0x14]
mov ecx, 0x806
cmp si, cx
jne 0x8377f0db
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
jmp 0x8377eb78
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
jmp 0x8377eb78
cmp dword [ebp - 0x2c], 2
mov eax, 0x870c6520
je 0x8377f0f6
mov eax, 0x870f2f6c
push ebx
push eax
push esi
call 0x837de8b1
mov esi, dword [esi]
cmp esi, edi
jne 0x8377f0e6
push dword [ebp - 0x28]
push dword [ebp - 0x24]
call fcn.83779547
jmp 0x8377f15d
cmp dword [ebp - 0x24], edi
je 0x8377f133
push dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov dword [eax], edi
mov eax, dword [ebx + 0x10]
push dword [ebp - 0x24]
mov eax, dword [eax + 0xa4]
push dword [ebx + 0x58]
mov eax, dword [eax + 4]
call dword [eax + 0x24]
cmp dword [ebp - 0x38], edi
je 0x8377f14d
push dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov dword [eax], edi
push dword [ebp - 0x38]
mov eax, dword [ebx + 0x10]
push ebx
call dword [eax + 0x10c]
mov edx, dword [ebp - 0x5c]
cmp edx, edi
jbe 0x8377f15d
mov ecx, dword [ebx + 0x24]
call dword [0x870f401c]
cmp dword [ebp - 0x58], edi
je 0x8377f180
mov eax, dword [ebp - 0x50]
mov dword [eax], edi
xor eax, eax
cmp dword [ebp - 0x40], 1
jne 0x8377f170
inc eax
push eax
push dword [ebp - 0x58]
push dword [ebx + 0x224]
call dword [0x870f46f0]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.83781dcc
leave
ret 0x14