Function at 0x423c20
Capabilities:
Inspect section memory permissions

Disassembly:
mov eax, dword [esp + 8]
push ebx
or ebx, 0xffffffff
cmp eax, 8
push ebp
ja case.default.0x423c33
push esi
jmp dword [eax*4 + 0x423f44]
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
je 0x423f3a
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 0x423f3a
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 0x423f3a
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + 0x198]
test eax, eax
mov eax, 0x461344
jne 0x423ccd
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 0x423cf3
mov eax, dword [esi + 0xc]
mov al, byte [eax + 2]
cmp al, 0x20
je 0x423f3a
cmp al, 0x41
movsx ebx, al
jl 0x423d1d
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 0x423f3a
mov edx, dword [esp + 0x10]
jmp 0x423d40
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x423d40
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 0x423d62
mov ebx, 0xc
test al, 4
je 0x423d6b
mov ebx, 0xd
mov edx, dword [ebp + 0xc]
mov al, byte [edx]
cmp al, 0x46
je 0x423e45
cmp al, 0x4e
je 0x423e26
cmp al, 0x51
jne 0x423f3a
mov eax, dword [ebp + 0x1c]
test ah, 0x20
mov edx, str._compressed_
jne 0x423d9a
mov edx, 0x45f743
test al, 0x20
push edi
mov edi, str.CODE
jne 0x423da9
mov edi, 0x45f743
test al, 0x40
mov esi, str.IData
jne 0x423db7
mov esi, 0x45f743
test al, al
mov ecx, str.UData
js 0x423dc5
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 0x423f3a
mov edx, dword [str._compressed_]
mov ecx, dword [esp + 0x10]
mov dword [ecx], edx
mov eax, dword [0x467070]
mov dword [ecx + 4], eax
mov edx, dword [0x467074]
mov dword [ecx + 8], edx
mov al, byte [0x467078]
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 0x423eac
mov eax, dword [str.Error]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov cx, word [0x467034]
pop esi
mov ebx, 0xb
pop ebp
mov eax, ebx
mov word [edx + 4], cx
pop ebx
ret 0xc
test al, 8
je 0x423ed2
mov eax, dword [esp + 0x10]
mov edx, dword [str.Warning]
mov dword [eax], edx
mov ecx, dword [0x46702c]
pop esi
mov ebx, 0xb
mov dword [eax + 4], ecx
pop ebp
mov eax, ebx
pop ebx
ret 0xc
test al, 0x10
je 0x423f3a
mov eax, dword [str.Align]
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov cx, word [0x467024]
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 0x423f3a
mov ecx, dword [ecx + 0x34]
mov edx, dword [ecx + 0xf8]
add ecx, 0xf0
cmp edx, 1
jle 0x423f3a
cmp eax, edx
jge 0x423f3a
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 0x423f30
pop esi
pop ebp
mov eax, ebx
pop ebx
ret 0xc