Function at 0x40d900
Capabilities:
Inspect section memory permissions

Disassembly:
push ebx
push esi
push edi
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x254]
cmp eax, 1
jle 0x40d915
add eax, 5
mov esi, dword [esp + 0x10]
mov dword [esi + 0x15c], eax
mov eax, dword [edi + 0x294]
cmp eax, 0xffffffff
jne 0x40d92e
or eax, eax
jmp 0x40d92f
dec eax
mov dword [esi + 0x1c4], eax
movzx eax, word [edi + 0x2a4]
xor ebx, ebx
mov word [esi + 0x1e6], ax
mov cx, word [edi + 0x2a8]
mov word [esi + 0x1e4], cx
mov dx, word [edi + 0x284]
inc dx
mov word [esi + 0x1de], dx
movzx eax, word [edi + 0x288]
mov word [esi + 0x1e0], ax
mov ecx, dword [edi + 0x258]
mov dword [esi + 0x160], ecx
mov dword [esi + 0x164], ebx
mov dword [esi + 0x168], ebx
mov dword [esi + 0x16c], ebx
mov dword [esi + 0x170], ebx
mov dword [esi + 0x174], ebx
mov dword [esi + 0x178], ebx
mov dword [esi + 0x17c], ebx
mov dword [esi + 0x180], ebx
mov dword [esi + 0x184], ebx
mov dword [esi + 0x188], ebx
mov dword [esi + 0x18c], ebx
mov dword [esi + 0x190], ebx
mov dword [esi + 0x194], ebx
mov dword [esi + 0x198], ebx
mov dword [esi + 0x19c], ebx
mov dword [esi + 0x1a0], ebx
mov dword [esi + 0x1a4], ebx
mov dword [esi + 0x1a8], ebx
mov dword [esi + 0x1ac], ebx
mov dword [esi + 0x1b0], ebx
mov dword [esi + 0x1b4], ebx
mov dword [esi + 0x1b8], ebx
mov dword [esi + 0x1bc], ebx
mov dword [esi + 0x1c0], ebx
cmp dword [edi + 0x378], ebx
je 0x40da1f
mov dword [esi + 0x164], 1
cmp dword [edi + 0x37c], ebx
je 0x40da31
mov dword [esi + 0x168], 0x8000000
mov eax, 0x20000
cmp dword [edi + 0x384], ebx
je 0x40da44
mov dword [esi + 0x17c], eax
cmp dword [edi + 0x388], ebx
je 0x40da56
mov dword [esi + 0x194], 0x20000000
cmp dword [edi + 0x38c], ebx
je 0x40da64
mov dword [esi + 0x1a0], eax
push ebp
mov ebp, 0x2000000
cmp dword [edi + 0x390], ebx
je 0x40da78
or dword [esi + 0x1a0], ebp
cmp dword [edi + 0x394], ebx
je 0x40da8a
or dword [esi + 0x17c], 0x80000000
cmp dword [edi + 0x398], ebx
je 0x40da9c
mov dword [esi + 0x184], 0x200
cmp dword [edi + 0x39c], ebx
je 0x40daae
or dword [esi + 0x17c], 0x200000
cmp dword [edi + 0x3a0], ebx
je 0x40dac0
mov dword [esi + 0x178], 0x8000
cmp dword [edi + 0x3a4], ebx
je 0x40dad2
or dword [esi + 0x178], 0x4000
cmp dword [edi + 0x3a8], ebx
je 0x40dae4
mov dword [esi + 0x16c], 0x400
cmp dword [edi + 0x3ac], ebx
je 0x40daf6
mov dword [esi + 0x170], 0x40000000
mov eax, 0x40
cmp dword [edi + 0x3b0], ebx
je 0x40db09
or dword [esi + 0x178], eax
cmp dword [edi + 0x3b4], ebx
je 0x40db1b
or dword [esi + 0x178], 0x80000
cmp dword [edi + 0x418], ebx
je 0x40db2a
or dword [esi + 0x16c], 0x10
cmp dword [edi + 0x3c8], ebx
je 0x40db39
or dword [esi + 0x164], 8
mov edx, 0x10000
cmp dword [edi + 0x3d0], ebx
je 0x40db4c
mov dword [esi + 0x18c], edx
mov ecx, 0x4000000
cmp dword [edi + 0x410], ebx
je 0x40db5f
or dword [esi + 0x168], ecx
cmp dword [edi + 0x3b8], ebx
je 0x40db6d
or dword [esi + 0x16c], edx
cmp dword [edi + 0x3bc], ebx
je 0x40db7f
or dword [esi + 0x17c], 0x2000
cmp dword [edi + 0x3c0], ebx
je 0x40db8d
or dword [esi + 0x178], ebp
mov edx, 0x1000000
cmp dword [edi + 0x3c4], ebx
je 0x40dba0
mov dword [esi + 0x180], edx
cmp dword [edi + 0x3d4], ebx
je 0x40dbb2
or dword [esi + 0x16c], 0x400000
cmp dword [edi + 0x3d8], ebx
je 0x40dbc4
mov dword [esi + 0x174], 4
cmp dword [edi + 0x3dc], ebx
je 0x40dbd2
or dword [esi + 0x174], ecx
mov ebp, 0x800000
cmp dword [edi + 0x3e0], ebx
je 0x40dbe5
or dword [esi + 0x180], ebp
cmp dword [edi + 0x3e4], ebx
je 0x40dbf4
or dword [esi + 0x184], 2
cmp dword [edi + 0x3e8], ebx
je 0x40dc06
mov dword [esi + 0x188], 0x10000
cmp dword [edi + 0x3ec], ebx
je 0x40dc18
or dword [esi + 0x188], 0x2000000
cmp dword [edi + 0x3f0], ebx
je 0x40dc2a
mov dword [esi + 0x190], 0x2000000
cmp dword [edi + 0x3f4], ebx
je 0x40dc3c
mov dword [esi + 0x198], pe_nt_image_headers32
cmp dword [edi + 0x3f8], ebx
je 0x40dc4e
or dword [esi + 0x1a0], 0x40000
cmp dword [edi + 0x3fc], ebx
je 0x40dc60
or dword [esi + 0x1a0], 0x80000
cmp dword [edi + 0x400], ebx
je 0x40dc72
or dword [esi + 0x190], 0x8000
cmp dword [edi + 0x404], ebx
je 0x40dc80
or dword [esi + 0x174], eax
cmp dword [edi + 0x408], ebx
je 0x40dc8e
or dword [esi + 0x18c], eax
cmp dword [edi + 0x40c], ebx
je 0x40dca0
or dword [esi + 0x184], 0x10000
cmp dword [edi + 0xb6c], ebx
je 0x40dcb2
or dword [esi + 0x16c], 0x40000000
cmp dword [edi + 0xb70], ebx
je 0x40dcc0
or dword [esi + 0x16c], ebp
cmp dword [edi + 0xb74], ebx
je 0x40dcce
or dword [esi + 0x16c], edx
cmp dword [edi + 0x3cc], ebx
jne 0x40dcdc
mov dword [edi + 0x414], ebx
mov eax, dword [edi + 0x414]
dec eax
mov ecx, 3
cmp eax, ecx
ja case.default.0x40dcec
jmp dword [eax*4 + 0x410480]
or dword [esi + 0x168], 0x20000000
jmp case.default.0x40dcec
or dword [esi + 0x17c], 0x8000
jmp case.default.0x40dcec
or dword [esi + 0x190], 0x80000
jmp case.default.0x40dcec
or dword [esi + 0x19c], ebp
cmp dword [edi + 0x3cc], ebx
je 0x40dd37
cmp dword [edi + 0x414], ebx
jne 0x40dd37
or dword [esi + 0x17c], 0x8000
mov eax, dword [edi + 0x25c]
dec eax
cmp eax, ecx
ja case.default.0x40dd42
jmp dword [eax*4 + 0x410490]
or dword [esi + 0x168], 0x20
jmp case.default.0x40dd42
or dword [esi + 0x168], 0x80
jmp case.default.0x40dd42
or dword [esi + 0x17c], 0x400
jmp case.default.0x40dd42
or dword [esi + 0x17c], 0x800
mov eax, dword [edi + 0x264]
dec eax
mov edx, 0x100000
cmp eax, ecx
ja case.default.0x40dd84
jmp dword [eax*4 + 0x4104a0]
or dword [esi + 0x168], edx
jmp case.default.0x40dd84
or dword [esi + 0x16c], 0x8000
jmp case.default.0x40dd84
or dword [esi + 0x178], 0x40000
jmp case.default.0x40dd84
or dword [esi + 0x19c], 0x40000000
mov eax, dword [edi + 0xb4c]
cmp eax, ecx
ja case.default.0x40ddbf
jmp dword [eax*4 + 0x4104b0]
or dword [esi + 0x170], 0x400000
jmp case.default.0x40ddbf
or dword [esi + 0x170], ebp
jmp case.default.0x40ddbf
or dword [esi + 0x170], 0xc00000
jmp case.default.0x40ddbf
or dword [esi + 0x170], 0x200000
mov eax, dword [edi + 0x268]
mov ebp, 1
sub eax, ebp
je 0x40de0f
sub eax, ebp
jne 0x40de19
or dword [esi + 0x168], 0x80000
jmp 0x40de19
or dword [esi + 0x164], 0x4000
mov eax, dword [edi + 0x26c]
sub eax, ebp
je 0x40de47
sub eax, ebp
je 0x40de3e
sub eax, ebp
jne 0x40de51
or dword [esi + 0x164], 4
or dword [esi + 0x180], 0x80
jmp 0x40de51
or dword [esi + 0x164], 4
jmp 0x40de51
or dword [esi + 0x164], 0x10000
mov eax, dword [edi + 0x270]
sub eax, ebp
je 0x40de6b
sub eax, ebp
jne 0x40de75
or dword [esi + 0x16c], 0x80000
jmp 0x40de75
or dword [esi + 0x16c], 0x200000
mov eax, dword [edi + 0x274]
dec eax
cmp eax, ecx
ja case.default.0x40de80
jmp dword [eax*4 + 0x4104c0]
or dword [esi + 0x174], 0x4000
jmp case.default.0x40de80
or dword [esi + 0x174], 0x10000
jmp case.default.0x40de80
or dword [esi + 0x174], 0x2000
jmp case.default.0x40de80
or dword [esi + 0x174], 0x8000
mov eax, dword [edi + 0x278]
sub eax, ebp
je 0x40dedb
sub eax, ebp
je 0x40decf
sub eax, ebp
jne 0x40dee2
or dword [esi + 0x174], edx
jmp 0x40dee2
or dword [esi + 0x174], 0x200000
jmp 0x40dee2
or dword [esi + 0x170], 2
mov eax, dword [edi + 0x27c]
sub eax, ebp
je 0x40defc
sub eax, ebp
jne 0x40df06
or dword [esi + 0x19c], 0x2000000
jmp 0x40df06
or dword [esi + 0x170], 0x4000000
mov eax, dword [edi + 0x280]
cmp eax, ecx
ja case.default.0x40df10
jmp dword [eax*4 + 0x4104d0]
or dword [esi + 0x184], 8
jmp case.default.0x40df10
or dword [esi + 0x184], 4
jmp case.default.0x40df10
or dword [esi + 0x184], 0x400
jmp case.default.0x40df10
or dword [esi + 0x188], 0x20000000
mov eax, dword [edi + 0x28c]
dec eax
cmp eax, ecx
ja case.default.0x40df4a
jmp dword [eax*4 + 0x4104e0]
or dword [esi + 0x1b4], reloc.dxwnd.dll_Ordinal_1
jmp case.default.0x40df4a
or dword [esi + 0x1b4], ebp
jmp case.default.0x40df4a
or dword [esi + 0x1b4], 0x11
jmp case.default.0x40df4a
or dword [esi + 0x1b4], 0x21
mov eax, dword [edi + 0x290]
sub eax, ebp
je 0x40df9f
sub eax, ebp
je 0x40df93
sub eax, ebp
jne 0x40dfa9
or dword [esi + 0x1b4], 0x100
jmp 0x40dfa9
or dword [esi + 0x1b4], 0x1000000
jmp 0x40dfa9
or dword [esi + 0x1b4], 0x2000000
mov eax, dword [edi + 0x298]
sub eax, ebp
mov edx, 0x10000000
je 0x40dfe8
sub eax, ebp
je 0x40dfd2
sub eax, ebp
jne 0x40dff2
or dword [esi + 0x164], 0x20000000
or dword [esi + 0x17c], edx
jmp 0x40dff2
or dword [esi + 0x164], 0x20000000
or dword [esi + 0x168], 0x40000
jmp 0x40dff2
or dword [esi + 0x164], 0x20000000
mov eax, dword [edi + 0xb18]
sub eax, ebp
je 0x40e009
sub eax, ebp
jne 0x40e010
or dword [esi + 0x180], 8
jmp 0x40e010
or dword [esi + 0x180], 4
mov eax, dword [edi + 0xb1c]
sub eax, ebp
je 0x40e02a
sub eax, ebp
jne 0x40e031
or dword [esi + 0x164], 0x80
jmp 0x40e031
or dword [esi + 0x180], 0x10
mov eax, dword [edi + 0xb20]
sub eax, ebp
je 0x40e048
sub eax, ebp
jne 0x40e04e
or dword [esi + 0x180], 2
jmp 0x40e04e
or dword [esi + 0x180], ebp
mov eax, dword [edi + 0xb58]
sub eax, ebp
je 0x40e075
sub eax, ebp
je 0x40e069
sub eax, ebp
jne 0x40e07f
or dword [esi + 0x174], 8
jmp 0x40e07f
or dword [esi + 0x164], 0x800
jmp 0x40e07f
or dword [esi + 0x16c], 0x2000
mov eax, dword [edi + 0xb5c]
sub eax, ebp
je 0x40e099
sub eax, ebp
jne 0x40e0a3
or dword [esi + 0x188], 0x4000
jmp 0x40e0a3
or dword [esi + 0x188], 0x2000
mov eax, dword [edi + 0xb64]
sub eax, 1
mov ebp, 0x1000
je 0x40e0c0
sub eax, 1
jne 0x40e0ca
or dword [esi + 0x180], ebp
jmp 0x40e0ca
or dword [esi + 0x180], 0x200
mov eax, dword [edi + 0x29c]
sub eax, 1
je 0x40e0f4
sub eax, 1
je 0x40e0e8
sub eax, 1
jne 0x40e0fb
or dword [esi + 0x184], 1
jmp 0x40e0fb
or dword [esi + 0x164], 0x2000
jmp 0x40e0fb
or dword [esi + 0x168], 8
mov eax, dword [edi + 0xb68]
sub eax, 1
je 0x40e117
sub eax, 1
jne 0x40e121
or dword [esi + 0x168], 0x4000
jmp 0x40e121
or dword [esi + 0x168], 0x200000
mov eax, dword [edi + 0x2a0]
sub eax, 1
je 0x40e13d
sub eax, 1
jne 0x40e147
or dword [esi + 0x184], 0x80000
jmp 0x40e147
or dword [esi + 0x174], 0x40000000
mov eax, dword [edi + 0xb54]
sub eax, 1
je 0x40e16e
sub eax, 1
je 0x40e165
sub eax, 1
jne 0x40e175
or dword [esi + 0x188], 4
jmp 0x40e175
or dword [esi + 0x188], 2
jmp 0x40e175
or dword [esi + 0x188], 1
mov eax, dword [edi + 0x2d0]
dec eax
cmp eax, ecx
ja case.default.0x40e180
jmp dword [eax*4 + 0x4104f0]
or dword [esi + 0x1a4], 0x10
jmp case.default.0x40e180
or dword [esi + 0x1a4], 0x20
jmp case.default.0x40e180
or dword [esi + 0x1a4], 0x30
jmp case.default.0x40e180
or dword [esi + 0x1a4], 0x40
mov eax, dword [edi + 0xb78]
sub eax, 1
je 0x40e1c5
sub eax, 1
jne 0x40e1cf
or dword [esi + 0x174], 0x2000000
jmp 0x40e1cf
or dword [esi + 0x174], 0x1000000
mov eax, dword [edi + 0x2bc]
sub eax, 1
je 0x40e1eb
sub eax, 1
jne 0x40e1f2
or dword [esi + 0x174], 0x400000
jmp 0x40e1f2
or dword [esi + 0x17c], 2
mov eax, dword [edi + 0x2c0]
sub eax, 1
je 0x40e212
sub eax, 1
je 0x40e209
sub eax, 1
jne 0x40e223
jmp 0x40e219
or dword [esi + 0x19c], 8
jmp 0x40e219
or dword [esi + 0x19c], 4
or dword [esi + 0x180], 0x10000
mov eax, dword [edi + 0x2c4]
sub eax, ebx
je 0x40e23b
sub eax, 2
jne 0x40e242
or dword [esi + 0x19c], 0x10
jmp 0x40e242
or dword [esi + 0x19c], 1
mov eax, dword [edi + 0xb10]
sub eax, 1
je 0x40e25e
sub eax, 1
jne 0x40e268
or dword [esi + 0x1a4], 0x200
jmp 0x40e268
or dword [esi + 0x1a4], 0x100
mov eax, dword [edi + 0xb14]
sub eax, 1
je 0x40e284
sub eax, 1
jne 0x40e28e
or dword [esi + 0x1a4], 0x800
jmp 0x40e28e
or dword [esi + 0x1a4], 0x400
mov eax, dword [edi + 0x2cc]
sub eax, 1
je 0x40e2aa
sub eax, 1
jne 0x40e2b4
or dword [esi + 0x1a0], 0xa00000
jmp 0x40e2b4
or dword [esi + 0x1a0], 0x200000
mov eax, dword [edi + 0x2c8]
sub eax, 1
je 0x40e2ce
sub eax, 1
jne 0x40e2d8
or dword [esi + 0x170], 0x20000
or dword [esi + 0x178], 0x10000
cmp dword [edi + 0x314], ebx
je 0x40e2ea
or dword [esi + 0x1b4], 0x40000000
cmp dword [edi + 0x308], ebx
je 0x40e2fc
or dword [esi + 0x1b4], 0x20000000
cmp dword [edi + 0x30c], ebx
je 0x40e30e
or dword [esi + 0x1b4], 0x8000000
cmp dword [edi + 0x310], ebx
je 0x40e31c
or dword [esi + 0x1b4], edx
cmp dword [edi + 0x324], ebx
je 0x40e32e
or dword [esi + 0x1b4], 0x8000
cmp dword [edi + 0x328], ebx
je 0x40e340
or dword [esi + 0x1b4], 0x4000000
mov eax, 2
cmp dword [edi + 0x32c], ebx
je 0x40e353
or dword [esi + 0x1b4], eax
cmp dword [edi + 0x35c], ebx
je 0x40e362
or dword [esi + 0x1b4], 0x40
cmp dword [edi + 0x318], ebx
je 0x40e371
or dword [esi + 0x1b8], 4
cmp dword [edi + 0x31c], ebx
je 0x40e37f
or dword [esi + 0x1b8], ebp
cmp dword [edi + 0x320], ebx
je 0x40e391
or dword [esi + 0x1b8], 0x4000
cmp dword [edi + 0x330], ebx
je 0x40e3a3
or dword [esi + 0x1b8], 0x10000
cmp dword [edi + 0x334], ebx
je 0x40e3b5
or dword [esi + 0x1b8], 0x20000
cmp dword [edi + 0x338], ebx
je 0x40e3c7
or dword [esi + 0x1b8], 0x40000
cmp dword [edi + 0x33c], ebx
je 0x40e3d9
or dword [esi + 0x1b8], 0x80000
cmp dword [edi + 0x340], ebx
je 0x40e3eb
or dword [esi + 0x1b8], 0x200000
cmp dword [edi + 0x344], ebx
je 0x40e3fd
or dword [esi + 0x1b8], 0x400000
cmp dword [edi + 0x348], ebx
je 0x40e40f
or dword [esi + 0x1b8], 0x100000
cmp dword [edi + 0x34c], ebx
je 0x40e421
or dword [esi + 0x1b8], 0x2000
cmp dword [edi + 0x350], ebx
je 0x40e433
or dword [esi + 0x1b8], 0x8000
cmp dword [edi + 0x358], ebx
je 0x40e441
or dword [esi + 0x1b8], eax
cmp dword [edi + 0x354], ebx
je 0x40e453
or dword [esi + 0x1b8], 0x800
cmp dword [edi + 0x304], ebx
je 0x40e462
or dword [esi + 0x1b8], 8
cmp dword [edi + 0x364], ebx
je 0x40e474
or dword [esi + 0x1b8], 0x80
cmp dword [edi + 0x368], ebx
je 0x40e486
or dword [esi + 0x1b8], 0x200
cmp dword [edi + 0x36c], ebx
je 0x40e498
or dword [esi + 0x1b8], 0x800000
cmp dword [edi + 0x370], ebx
je 0x40e4aa
or dword [esi + 0x1b8], 0x1000000
cmp dword [edi + 0x374], ebx
je 0x40e4bc
or dword [esi + 0x1b8], 0x400
mov dword [edi + 0x28c], ebx
test byte [esi + 0x1b4], 1
je 0x40e4d1
mov dword [edi + 0x28c], eax
test dword [esi + 0x1b4], 0x80000000
je 0x40e4e7
mov dword [edi + 0x28c], 1
test byte [esi + 0x1b4], 0x10
je 0x40e4f6
mov dword [edi + 0x28c], ecx
test byte [esi + 0x1b4], 0x20
je 0x40e509
mov dword [edi + 0x28c], 4
mov eax, 0x2000000
mov dword [edi + 0x290], ebx
test dword [esi + 0x1b4], eax
je 0x40e526
mov dword [edi + 0x290], 1
test dword [esi + 0x1b4], 0x1000000
je 0x40e53c
mov dword [edi + 0x290], 2
test dword [esi + 0x1b4], 0x100
je 0x40e54e
mov dword [edi + 0x290], ecx
cmp dword [edi + 0x260], ebx
je 0x40e560
or dword [esi + 0x174], 0x400
mov ecx, 0x10
cmp dword [edi + 0x2d4], ebx
je 0x40e573
or dword [esi + 0x164], ecx
cmp dword [edi + 0x2d8], ebx
je 0x40e585
or dword [esi + 0x164], 0x200
cmp dword [edi + 0x2dc], ebx
je 0x40e597
or dword [esi + 0x178], 0x80000000
cmp dword [edi + 0x2e0], ebx
je 0x40e5a9
or dword [esi + 0x178], 0x800000
cmp dword [edi + 0x2e4], ebx
je 0x40e5bb
or dword [esi + 0x17c], 0x4000
cmp dword [edi + 0x2e8], ebx
je 0x40e5cd
or dword [esi + 0x17c], 0x10000
cmp dword [edi + 0x2ec], ebx
je 0x40e5df
or dword [esi + 0x17c], 0x100000
cmp dword [edi + 0x2f0], ebx
je 0x40e5ee
or dword [esi + 0x164], 0x20
cmp dword [edi + 0x2f4], ebx
je 0x40e600
or dword [esi + 0x178], 0x8000000
cmp dword [edi + 0x2f8], ebx
je 0x40e612
or dword [esi + 0x184], 0x2000
cmp dword [edi + 0x2fc], ebx
je 0x40e624
or dword [esi + 0x1a0], 0x400000
cmp dword [edi + 0x300], ebx
je 0x40e632
or dword [esi + 0x178], edx
cmp dword [edi + 0x360], ebx
je 0x40e644
or dword [esi + 0x1bc], 0x8000000
cmp dword [edi + 0x6f4], ebx
je 0x40e653
or dword [esi + 0x164], 0x40
cmp dword [edi + 0x6f8], ebx
je 0x40e665
or dword [esi + 0x1bc], 7
pop edi
pop esi
pop ebx
ret
or dword [esi + 0x1bc], 1
pop edi
pop esi
pop ebx
ret
or dword [esi + 0x1bc], 2
pop edi
pop esi
pop ebx
ret
or dword [esi + 0x1bc], 3
pop edi
pop esi
pop ebx
ret