Function at 0x423e00
Capabilities:
Inspect section memory permissions

Disassembly:
mov eax, dword [esp + 8]
push ebx
or ebx, 0xffffffff
cmp eax, 8
push ebp
ja case.default.0x423e13
push esi
jmp dword [eax*4 + 0x424124]
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
je 0x42411a
pop esi
mov ebx, 3
pop ebp
mov eax, ebx
pop ebx
ret 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x10]
push edx
push str._08X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
test eax, eax
je 0x42411a
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x10]
add ecx, eax
push ecx
push str._08X
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0xc
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 8]
test edx, edx
je 0x42411a
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + 0x198]
test eax, eax
mov eax, 0x461344
jne 0x423ead
mov eax, 0x45fc8c
push edx
mov edx, dword [esp + 0x14]
push eax
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0xc
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x10]
add eax, 4
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x423ed3
mov eax, dword [esi + 0xc]
mov al, byte [eax + 2]
cmp al, 0x20
je 0x42411a
cmp al, 0x41
movsx ebx, al
jl 0x423efd
pop esi
sub ebx, 0x37
pop ebp
mov eax, ebx
pop ebx
ret 0xc
pop esi
sub ebx, 0x30
pop ebp
mov eax, ebx
pop ebx
ret 0xc
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x42411a
mov edx, dword [esp + 0x10]
jmp 0x423f20
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x423f20
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0xc
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 0x18]
test al, 2
je 0x423f42
mov ebx, 0xc
test al, 4
je 0x423f4b
mov ebx, 0xd
mov edx, dword [ebp + 0xc]
mov al, byte [edx]
cmp al, 0x46
je 0x424025
cmp al, 0x4e
je 0x424006
cmp al, 0x51
jne 0x42411a
mov eax, dword [ebp + 0x1c]
test ah, 0x20
mov edx, str._compressed_
jne 0x423f7a
mov edx, 0x45f743
test al, 0x20
push edi
mov edi, str.CODE
jne 0x423f89
mov edi, 0x45f743
test al, 0x40
mov esi, str.IData
jne 0x423f97
mov esi, 0x45f743
test al, al
mov ecx, str.UData
js 0x423fa5
mov ecx, 0x45f743
push edx
mov edx, eax
and edx, 0x20000000
neg edx
sbb dl, dl
and dl, 0xf9
add dl, 0x5f
movsx edx, dl
push 0x45f743
push edx
mov edx, eax
and edx, 0x40000000
neg edx
sbb dl, dl
shr eax, 0x1c
not al
and dl, 0xf3
add dl, 0x5f
movsx edx, dl
push edx
and eax, 8
or eax, 0x57
push eax
mov eax, dword [ebp + 0x14]
push edi
push esi
push ecx
mov ecx, dword [esp + 0x34]
push eax
push str.o32__d___s_s_s__c_c_c___s_s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x2c
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0xc
mov edx, dword [ebp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push 0x46269c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0xc
mov eax, dword [ebp + 0x1c]
test ah, 8
je 0x42411a
mov edx, dword [str._compressed_]
mov ecx, dword [esp + 0x10]
mov dword [ecx], edx
mov eax, dword [0x4670b8]
mov dword [ecx + 4], eax
mov edx, dword [0x4670bc]
mov dword [ecx + 8], edx
mov al, byte [0x4670c0]
pop esi
mov byte [ecx + 0xc], al
pop ebp
mov eax, ebx
pop ebx
ret 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x18]
test al, 1
je 0x42408c
mov eax, dword [str.Error]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov cx, word [0x46707c]
pop esi
mov ebx, 0xb
pop ebp
mov eax, ebx
mov word [edx + 4], cx
pop ebx
ret 0xc
test al, 8
je 0x4240b2
mov eax, dword [esp + 0x10]
mov edx, dword [str.Warning]
mov dword [eax], edx
mov ecx, dword [0x467074]
pop esi
mov ebx, 0xb
mov dword [eax + 4], ecx
pop ebp
mov eax, ebx
pop ebx
ret 0xc
test al, 0x10
je 0x42411a
mov eax, dword [str.Align]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov cx, word [0x46706c]
pop esi
mov ebx, 0xb
pop ebp
mov eax, ebx
mov word [edx + 4], cx
pop ebx
ret 0xc
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x20]
test eax, eax
jl 0x42411a
mov ecx, dword [ecx + 0x34]
mov edx, dword [ecx + 0xf8]
add ecx, 0xf0
cmp edx, 1
jle 0x42411a
cmp eax, edx
jge 0x42411a
mov ecx, dword [ecx + 4]
imul eax, eax, 0x2c4
mov edx, dword [esp + 0x10]
lea ecx, [eax + ecx + 0x14]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x424110
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0xc