Function at 0x443175
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x2c]
mov ebx, edx
mov edx, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edx
mov al, byte [edi + 0xc]
lea esi, [ebx + 0x20]
test al, 0x60
je 0x4431b2
movzx eax, al
shr eax, 5
and eax, 3
mov ecx, dword [eax*8 + 0x4c10b0]
or dword [esi], ecx
mov eax, dword [eax*8 + 0x4c10b4]
or dword [esi + 4], eax
mov al, byte [edi + 0xd]
test al, 3
je 0x4431d2
movzx ecx, al
and ecx, 3
mov eax, dword [ecx*8 + 0x4d7678]
or dword [esi], eax
mov eax, dword [ecx*8 + 0x4d767c]
or dword [esi + 4], eax
mov al, byte [edi + 0xd]
test al, 0xc
je 0x4431f5
movzx ecx, al
shr ecx, 2
and ecx, 3
mov eax, dword [ecx*8 + 0x4ea090]
or dword [esi], eax
mov eax, dword [ecx*8 + 0x4ea094]
or dword [esi + 4], eax
mov eax, dword [ebx + 0xc]
xor ebx, ebx
sub eax, ebx
je 0x44328d
sub eax, 1
je 0x44320f
sub eax, 1
je 0x44320f
sub eax, 1
test byte [edi + 0xd], 0x10
je 0x44358e
mov edx, dword [esi]
mov edi, dword [esp + 0x1c]
or edx, 0x4000000
mov eax, dword [esi + 4]
mov dword [esi], edx
mov dword [esi + 4], eax
mov cl, byte [edi + 0x13]
test cl, cl
je 0x44327b
movzx ecx, cl
sub ecx, 0x26
je 0x443271
push 8
pop ebp
sub ecx, ebp
je 0x44326c
sub ecx, ebp
je 0x443267
sub ecx, ebp
je 0x443260
mov dword [esi], edx
sub ecx, 0x26
je 0x443259
or eax, 0x400
jmp 0x443278
or eax, 0x200
jmp 0x443278
or eax, 0x80
jmp 0x443276
or eax, 0x40
jmp 0x443276
or eax, 0x20
jmp 0x443276
or eax, 0x100
mov dword [esi], edx
mov dword [esi + 4], eax
and eax, 0x7e0
or ebx, eax
je 0x44358e
jmp 0x44357e
test byte [edi + 0xd], 0x20
je 0x44329f
mov eax, dword [esi + 4]
or dword [esi], 0x100
mov dword [esi + 4], eax
test byte [edi + 0xd], 0x40
je 0x4432d3
mov eax, dword [esi]
mov ecx, dword [esi + 4]
or eax, 0x10000
mov dword [esi], eax
mov dword [esi + 4], ecx
cmp byte [edx + 0x10], bl
je 0x4432d3
or eax, 0x8000000
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
movzx eax, byte [edx + 0x15]
mov dword [ecx + eax*8 + 0x6c], 1
cmp byte [edi + 0xd], bl
jge 0x4432e4
mov eax, dword [esi + 4]
or dword [esi], 0x20000
mov dword [esi + 4], eax
test byte [edi + 0xe], 1
je 0x4432f6
mov eax, dword [esi + 4]
or dword [esi], 0x40000
mov dword [esi + 4], eax
test byte [edi + 0xe], 2
je 0x443308
mov eax, dword [esi + 4]
or dword [esi], 0x80000
mov dword [esi + 4], eax
test byte [edi + 0xe], 4
je 0x44331a
mov eax, dword [esi + 4]
or dword [esi], 0x100000
mov dword [esi + 4], eax
test byte [edi + 0xe], 8
je 0x44332c
mov eax, dword [esi + 4]
or dword [esi], 0x200000
mov dword [esi + 4], eax
test byte [edi + 0xe], 0x10
je 0x44333e
mov eax, dword [esi + 4]
or dword [esi], 0x400000
mov dword [esi + 4], eax
test byte [edi + 0xe], 0x40
je 0x443350
mov eax, dword [esi + 4]
or dword [esi], 0x800000
mov dword [esi + 4], eax
movzx eax, byte [edx + 0x11]
sub eax, 0xf2
je 0x4433b3
sub eax, 1
jne 0x44340a
mov ecx, dword [esi]
mov eax, ecx
mov ebp, dword [esi + 4]
and eax, 0x20000
or eax, ebx
je 0x44337f
or ecx, 0x10000000
jmp 0x443405
mov eax, ecx
and eax, 0x40000
or eax, ebx
je 0x443392
or ecx, 0x20000000
jmp 0x443405
mov eax, ecx
and eax, 0x400000
or eax, ebx
je 0x44340a
mov eax, ecx
and eax, 0x8000000
or eax, ebx
jne 0x4433ae
test byte [edi + 0xe], 0x40
je 0x44340a
or ebp, 2
jmp 0x443405
mov ecx, dword [esi]
mov eax, ecx
mov ebp, dword [esi + 4]
and eax, 0x80000
or eax, ebx
je 0x4433cb
or ecx, 0x40000000
jmp 0x443405
mov eax, ecx
and eax, 0x200000
or eax, ebx
je 0x4433ec
mov eax, ecx
and eax, 0x8000000
or eax, ebx
jne 0x4433e7
test byte [edi + 0xe], 0x40
je 0x4433ec
or ebp, 1
jmp 0x443405
mov eax, dword [edx]
test byte [eax + 8], 8
je 0x44340a
mov eax, ecx
and eax, 0x100000
or eax, ebx
je 0x44340a
or ecx, 0x80000000
mov dword [esi + 4], ebp
mov dword [esi], ecx
movzx eax, byte [edx + 0x16]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp dword [ebp + eax*8 + 0x6c], ebx
jne 0x44343a
mov ecx, dword [esi]
mov eax, dword [esi + 4]
and ecx, 0xf0000000
and eax, 3
or ecx, eax
je 0x44343a
mov eax, dword [esp + 0x18]
mov dword [ebp + eax*8 + 0x6c], 1
push 8
pop ebp
cmp byte [edi + 0xe], bl
jge 0x443499
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
mov eax, ecx
or eax, 0x1000000
mov dword [esi], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], eax
mov al, byte [edx + 0x12]
mov byte [esp + 0x13], al
cmp al, 0x2e
mov eax, dword [esp + 0x18]
je 0x44347b
cmp byte [esp + 0x13], 0x3e
jne 0x443499
or ecx, 0x1000000
or eax, ebp
jmp 0x443484
or ecx, 0x1000000
or eax, 4
mov dword [esi], ecx
mov ecx, dword [esp + 0x14]
mov dword [esi + 4], eax
movzx eax, byte [edx + 0x17]
mov dword [ecx + eax*8 + 0x6c], 1
test byte [edi + 0xe], 0x20
je 0x4434eb
mov eax, dword [esi]
or eax, 0x2000000
mov dword [esp + 0x18], eax
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x18]
mov dword [esi], ecx
mov ecx, dword [esp + 0x14]
mov dword [esi + 4], eax
mov dword [esp + 0x20], eax
mov eax, dword [edx]
test byte [eax + 8], 0x10
je 0x4434eb
cmp byte [edx + 0x1c], bl
jl 0x4434eb
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
or eax, 0x10
mov dword [esi], edi
mov edi, dword [esp + 0x2c]
mov dword [esi + 4], eax
movsx eax, byte [edx + 0x1c]
mov dword [ecx + eax*8 + 0x6c], 1
test byte [edi + 0xd], 0x10
je 0x44358e
cmp byte [edi + 0xe], bl
jl 0x44358e
mov edi, dword [esi]
mov eax, dword [esi + 4]
or edi, 0x4000000
mov dword [esi], edi
mov dword [esi + 4], eax
mov cl, byte [edx + 0x13]
mov edx, eax
mov byte [esp + 0x2c], cl
test cl, cl
je 0x443570
mov ecx, eax
mov eax, ebx
and ecx, 0x10
or eax, ecx
jne 0x443570
movzx eax, byte [esp + 0x2c]
sub eax, 0x26
je 0x443565
sub eax, ebp
je 0x443560
sub eax, ebp
je 0x44355b
sub eax, ebp
je 0x443553
mov dword [esi], edi
sub eax, 0x26
je 0x44354b
or edx, 0x400
jmp 0x44356d
or edx, 0x200
jmp 0x44356d
or edx, 0x80
jmp 0x44356b
or edx, 0x40
jmp 0x44356b
or edx, 0x20
jmp 0x44356b
or edx, 0x100
mov dword [esi], edi
mov dword [esi + 4], edx
and edx, 0x7e0
or ebx, edx
je 0x44358e
mov edi, dword [esp + 0x1c]
movzx eax, byte [edi + 0x1a]
mov ecx, dword [esp + 0x14]
mov dword [ecx + eax*8 + 0x6c], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret