Function at 0x45940f
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
push edi
mov edi, ecx
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x10], edi
call fcn.004462b2
xor esi, esi
cmp dword [ebp + 0xc], esi
jne 0x45944a
push esi
push edi
call fcn.00412371
mov edi, dword [edi + 0x28]
cmp edi, esi
pop ecx
pop ecx
mov dword [ebp + 0xc], edi
jne 0x45944a
mov ebx, 0x80070057
jmp 0x459866
mov edx, dword [ebp + 8]
xor edi, edi
mov byte [ebp - 1], 0
xor ecx, ecx
jmp 0x45949b
mov eax, ecx
call fcn.0043daaf
test al, al
jne 0x4594a3
cmp cx, 0x2d
jne 0x459470
or edi, 0x8000000
jmp 0x459496
cmp cx, 0x7c
jne 0x45947e
or edi, 0x10000000
jmp 0x459496
cmp cx, 0x2b
jne 0x45948c
or edi, 0x4000000
jmp 0x459496
cmp cx, 0x2e
jne 0x459496
mov byte [ebp - 1], 1
inc edx
inc edx
mov dword [ebp + 8], edx
mov cx, word [edx]
cmp cx, si
jne 0x459457
lea eax, [ebp + 8]
xor edi, 0x18000000
push eax
mov dword [ebp - 8], edi
call fcn.0043dae7
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
push 0x2c
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], esi
call fcn.004a7e7b
mov edi, dword [ebp - 0x18]
mov bx, word [edi]
pop ecx
mov word [edi], si
mov dword [ebp - 0x14], esi
jmp 0x4595ff
push 7
push esi
push 0x4c5bac
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x4594fa
mov dword [ebp - 0x1c], 0x40000000
jmp 0x4595f6
push 6
push esi
push 0x4c5ba4
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x45951a
mov dword [ebp - 0x1c], 0x20000000
jmp 0x4595f6
push 8
push esi
push 0x4c5b98
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x459537
or byte [ebp - 5], 2
jmp 0x4595f6
push 9
push esi
push 0x4c5b98
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x459596
or byte [ebp - 5], 2
add esi, 0x12
lea ecx, [ebp - 0x18]
mov dword [ebp + 8], esi
call fcn.00443f5b
mov ecx, dword [ebp - 0x10]
push 1
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.00454bdd
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.004472d9
movsx eax, byte [ebp - 0x14]
pop ecx
pop ecx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x14], eax
call fcn.0043db4f
jmp 0x4595f6
push 5
push esi
push 0x4c5b90
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x4595b0
or byte [ebp - 6], 0x80
jmp 0x4595f6
push 5
push esi
push 0x4c5b90
call fcn.0043ee93
add esp, 0xc
test al, al
jne 0x4595aa
push 3
push esi
push 0x4c5b84
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x4595de
or byte [ebp - 6], 0x20
jmp 0x4595f6
push 4
push esi
push 0x4c5b7c
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x4595f6
or byte [ebp - 5], 1
lea eax, [ebp + 8]
push eax
call fcn.00408ddd
mov esi, dword [ebp + 8]
cmp word [esi], 0x2d
pop ecx
je 0x4594da
mov eax, dword [ebp - 0x1c]
or dword [ebp - 8], eax
lea ecx, [ebp - 0x20]
mov word [edi], bx
call fcn.00443f5b
lea ecx, [ebp - 0xc]
call fcn.00443f5b
lea ecx, [ebp - 0x34]
call fcn.00443f5b
lea ecx, [ebp - 0x18]
call fcn.00443f5b
push 0x4bca0c
lea ecx, [ebp - 0x3c]
call fcn.0044cd74
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov esi, 0x80000000
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
cmp word [eax], 0x2a
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], ebx
mov byte [ebp + 0x13], bl
jne 0x459689
add dword [ebp + 8], 2
lea eax, [ebp + 8]
push eax
mov byte [ebp + 0x13], 1
call fcn.0043dae7
pop ecx
mov ecx, dword [ebp - 0x10]
push ebx
push 0x2c
pop edi
push edi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00438db7
mov eax, dword [ebp + 8]
cmp word [eax], bx
jne 0x4596ae
xor ebx, ebx
inc ebx
jmp 0x45983e
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
push 1
push edi
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x48]
call fcn.00456f8f
push eax
call fcn.004500a2
mov eax, dword [ebp + 8]
add esp, 0x14
cmp word [eax], di
jne 0x4596ff
add dword [ebp + 8], 2
push 1
push edi
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x48]
call fcn.00456f8f
push ebx
lea ecx, [ebp - 0xc]
push ecx
push eax
call fcn.00446e14
add esp, 0xc
mov eax, dword [ebp + 8]
cmp word [eax], bx
je 0x45973f
mov ecx, dword [ebp - 0x10]
add dword [ebp + 8], 2
push ebx
push edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00438c4b
mov eax, dword [ebp + 8]
cmp word [eax], bx
je 0x45973f
push 1
push edi
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x48]
call fcn.00456f8f
push dword [eax]
call fcn.00450422
pop ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
cmp word [eax], di
jne 0x45978f
add dword [ebp + 8], 2
push 1
push edi
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x48]
call fcn.00456f8f
lea ecx, [ebp - 0x58]
push ecx
push eax
call fcn.00446e83
mov eax, dword [ebp + 8]
cmp word [eax], di
pop ecx
pop ecx
jne 0x45978f
add dword [ebp + 8], 2
push edi
lea eax, [ebp - 0x18]
push eax
push 1
push edi
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x48]
call fcn.00456f8f
push eax
call fcn.00446d58
add esp, 0xc
cmp byte [ebp - 1], 0
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], esi
mov esi, dword [ebp - 0x1c]
jne 0x4597ad
push ebx
push dword [ebp - 0xc]
call fcn.004141d2
or byte [ebp - 5], 1
pop ecx
pop ecx
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
jne 0x4597c9
mov eax, dword [ebp - 0x3c]
cmp word [eax], bx
je 0x4597c9
lea ecx, [ebp - 0xc]
push ecx
push eax
call fcn.0044775b
pop ecx
pop ecx
mov eax, dword [ebp - 0x3c]
mov word [eax], bx
mov eax, dword [ebp - 0x1c]
cmp ax, bx
jle 0x4597e0
test al, 7
je 0x4597e0
or eax, 8
mov esi, eax
and esi, 0xfffffffe
or esi, 4
cmp dword [ebp - 0x58], ebx
jl 0x4597f8
cmp dword [ebp - 0x54], ebx
jge 0x4597f8
mov eax, dword [0x4d6360]
mov dword [ebp - 0x54], eax
cmp byte [ebp + 0x13], 0
je 0x459803
mov eax, dword [ebp - 0x10]
jmp 0x45980c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x194]
push dword [ebp - 0x14]
lea ecx, [ebp - 0x58]
push dword [ebp - 0x18]
push ecx
movzx ecx, si
or ecx, dword [ebp - 8]
push ecx
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0xc]
push ecx
push dword [ebp - 0x24]
lea ecx, [ebp - 0x20]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push ecx
mov ecx, dword [ebp + 0xc]
push eax
call fcn.0044437a
lea ecx, [ebp - 0x3c]
call fcn.0043db4f
lea ecx, [ebp - 0x18]
call fcn.0043db4f
lea ecx, [ebp - 0x34]
call fcn.0043db4f
lea ecx, [ebp - 0xc]
call fcn.0043db4f
lea ecx, [ebp - 0x20]
call fcn.0043db4f
lea ecx, [ebp - 0x48]
call fcn.0043db4f
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 0xc