Function at 0x404600
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x18
push ebp
mov ebp, dword [esp + 0x20]
movzx eax, word [ebp + 0x3c]
push esi
movzx eax, ax
push edi
xor edi, edi
lea esi, [eax + ebp]
mov ecx, 0x10b
mov dword [esp + 0x1c], edi
mov dword [esp + 0xc], esi
cmp word [esi + 0x18], cx
je 0x404632
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x18
ret
mov edx, dword [esi + 0x50]
mov eax, dword [0x42b844]
mov ecx, dword [eax + 0xa4]
push ebx
push 0x40
push 0x3000
push edx
push edi
call ecx
mov ebx, eax
mov dword [esp + 0x2c], ebx
cmp ebx, edi
je 0x4047e9
mov edx, dword [esi + 0x54]
push edx
push ebp
push ebx
call fcn.0041c410
xor eax, eax
add esp, 0xc
cmp ax, word [esi + 6]
jae 0x4046a8
add esi, 0x108
mov eax, dword [esi - 4]
mov ecx, dword [esi]
mov edx, dword [esi - 8]
add eax, ebx
cmp ecx, edx
jb 0x404686
mov ecx, edx
push ecx
mov ecx, dword [esi + 4]
add ecx, ebp
push ecx
push eax
call fcn.0041c410
mov edx, dword [esp + 0x1c]
movzx eax, word [edx + 6]
inc edi
add esp, 0xc
add esi, 0x28
cmp edi, eax
jl 0x404676
mov esi, edx
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4046b7
sub eax, dword [esi + 0x34]
mov edi, eax
jmp 0x4046bc
mov edi, ebx
sub edi, dword [esi + 0x34]
test edi, edi
je 0x40473e
mov ecx, dword [esi + 0xa0]
test ecx, ecx
je 0x4047d6
mov eax, dword [esi + 0xa4]
add ecx, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0
test eax, eax
je 0x40473e
mov ebp, dword [ecx + 4]
lea eax, [ebp - 8]
shr eax, 1
mov dword [esp + 0x1c], ebp
lea edx, [ecx + 8]
je 0x40472c
mov dword [esp + 0x18], eax
jmp 0x404700
movzx eax, word [edx]
mov ebp, eax
and ebp, 0xf000
cmp ebp, 0x3000
jne 0x40471e
and eax, 0xfff
add eax, ebx
add eax, dword [ecx]
add dword [eax], edi
add edx, 2
sub dword [esp + 0x18], 1
jne 0x404700
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add eax, ebp
add ecx, ebp
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x24]
jne 0x4046e6
mov edi, dword [esi + 0x80]
add edi, ebx
mov dword [esp + 0x18], edi
cmp edi, ebx
je 0x404867
cmp dword [edi + 0xc], 0
je 0x404867
lea esp, [esp]
mov esi, dword [edi + 0xc]
mov eax, dword [0x42b844]
mov ecx, dword [eax + 0x34c]
add esi, ebx
push esi
call ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x40478e
mov edx, dword [0x42b844]
mov eax, dword [edx + 0x110]
push esi
call eax
mov dword [esp + 0x14], eax
mov ecx, dword [edi + 0x10]
xor ebp, ebp
add ebx, ecx
mov dword [esp + 0x24], ebx
cmp dword [edi + 4], ebp
je 0x4047a4
mov ebx, dword [edi]
add ebx, dword [esp + 0x2c]
xor esi, esi
mov dword [esp + 0x1c], esi
cmp dword [ebx], esi
je 0x40484e
mov eax, ebx
mov eax, dword [eax]
test eax, eax
jns 0x4047f3
mov edx, dword [esp + 0x14]
and eax, 0xffff
push eax
mov eax, dword [0x42b844]
mov ecx, dword [eax + 0x80]
push edx
call ecx
mov ebp, eax
jmp 0x404826
mov ecx, dword [0x42b844]
mov edx, dword [ecx + 0x3c]
push 0x8000
push 0
push ebx
call edx
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x18
ret
mov edx, dword [esp + 0x2c]
lea edi, [eax + edx + 2]
mov eax, dword [0x42b844]
mov ecx, dword [eax + 0x1e4]
push edi
call ecx
test eax, eax
je 0x404822
mov edx, dword [esp + 0x14]
mov eax, dword [0x42b844]
mov ecx, dword [eax + 0x80]
push edi
push edx
call ecx
mov ebp, eax
mov edi, dword [esp + 0x18]
test ebp, ebp
je 0x404831
mov edx, dword [esp + 0x24]
mov dword [esi + edx], ebp
mov eax, dword [esp + 0x1c]
inc eax
lea esi, [eax*4]
cmp dword [esi + ebx], 0
mov dword [esp + 0x1c], eax
lea eax, [esi + ebx]
jne 0x4047b4
mov ebx, dword [esp + 0x2c]
add edi, 0x14
cmp dword [edi + 0xc], 0
mov dword [esp + 0x18], edi
jne 0x404760
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x54]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [0x42b844]
push 2
lea edx, [esp + 0x34]
push edx
mov edx, dword [ecx + 0x1e0]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x30]
push eax
push 0xffffffffffffffff
mov dword [esp + 0x38], ebx
call edx
xor eax, eax
xor edi, edi
cmp ax, word [esi + 6]
jae 0x404955
add esi, 0x100
jmp 0x4048b0
mov ecx, dword [esi + 0x1c]
xor eax, eax
test ecx, 0x4000000
je 0x4048c2
mov eax, 0x200
test ecx, 0x20000000
je 0x4048f0
test ecx, 0x40000000
je 0x4048e0
test ecx, ecx
jns 0x4048db
or eax, 0x40
jmp 0x404912
or eax, 0x20
jmp 0x404912
test ecx, ecx
jns 0x4048eb
or eax, 0x80
jmp 0x404912
or eax, 0x10
jmp 0x404912
test ecx, 0x40000000
je 0x404906
test ecx, ecx
jns 0x404901
or eax, 4
jmp 0x404912
or eax, 2
jmp 0x404912
test ecx, ecx
jns 0x40490f
or eax, 8
jmp 0x404912
or eax, 1
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0x1c], ecx
add edx, ebx
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [0x42b844]
push eax
mov dword [esp + 0x20], edx
lea edx, [esp + 0x24]
push edx
mov edx, dword [ecx + 0x1e0]
lea eax, [esp + 0x24]
push eax
push 0xffffffffffffffff
call edx
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 6]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x4048b0
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x18
ret