Function at 0x10074880
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b7a8c
mov eax, dword fs:[0]
push eax
sub esp, 0x330
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x328], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x340]
mov dword fs:[0], eax
mov edi, edx
mov dword [esp + 0x18], ecx
mov esi, dword [edi + 0x14]
test esi, esi
je 0x100748d5
mov ecx, dword [esi + 0x84]
jmp 0x100748d7
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
test ax, ax
je 0x1007578f
test esi, esi
je 0x100748f5
mov ecx, dword [esi + 0x84]
jmp 0x100748f7
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
movzx eax, ax
mov dword [esp + 0x28], eax
test esi, esi
je 0x1007491a
mov al, byte [esi + 0x88]
test al, al
je 0x1007491a
mov eax, dword [esi + 0xc]
jmp 0x1007491c
xor eax, eax
cmp dword [eax + 0x24], 0
je 0x1007578f
test esi, esi
je 0x10074939
mov al, byte [esi + 0x88]
test al, al
je 0x10074939
mov eax, dword [esi + 0xc]
jmp 0x1007493b
xor eax, eax
mov eax, dword [eax + 0x24]
mov dword [esp + 0x2c], eax
test esi, esi
je 0x10074955
mov al, byte [esi + 0x88]
test al, al
je 0x10074955
mov eax, dword [esi + 0xc]
jmp 0x10074957
xor eax, eax
cmp dword [eax + 0x20], 0
je 0x1007578f
test esi, esi
je 0x10074974
mov al, byte [esi + 0x88]
test al, al
je 0x10074974
mov eax, dword [esi + 0xc]
jmp 0x10074976
xor eax, eax
mov eax, dword [eax + 0x20]
mov dword [esp + 0x1c], eax
test esi, esi
je 0x10074990
mov al, byte [esi + 0x88]
test al, al
je 0x10074990
mov eax, dword [esi + 0xc]
jmp 0x10074992
xor eax, eax
cmp dword [eax + 4], 0
je 0x1007578f
test esi, esi
je 0x100749af
mov al, byte [esi + 0x88]
test al, al
je 0x100749af
mov eax, dword [esi + 0xc]
jmp 0x100749b1
xor eax, eax
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
test esi, esi
je 0x100749cb
mov al, byte [esi + 0x88]
test al, al
je 0x100749cb
mov eax, dword [esi + 0xc]
jmp 0x100749cd
xor eax, eax
cmp dword [eax + 8], 0
je 0x1007578f
mov ecx, edi
call fcn.100952e0
mov ecx, edi
mov esi, dword [eax + 8]
call fcn.100952e0
cmp dword [eax + 0x18], 0
je 0x1007578f
mov ecx, edi
call fcn.100952e0
mov ecx, edi
mov ebx, dword [eax + 0x18]
call fcn.100952e0
cmp word [eax + 0x2c], 0
je 0x1007578f
mov ecx, edi
call fcn.100952e0
mov ecx, edi
movzx eax, word [eax + 0x2c]
mov dword [esp + 0x20], eax
call fcn.100952e0
cmp word [eax + 0x2e], 0
je 0x1007578f
mov ecx, edi
call fcn.100952e0
mov ecx, edi
movzx eax, word [eax + 0x2e]
mov dword [esp + 0x24], eax
call fcn.100952e0
cmp dword [eax + 0x38], 0
je 0x1007578f
mov ecx, edi
call fcn.100952e0
mov eax, dword [eax + 0x38]
mov dword [esp + 0x14], eax
mov dword [esp + 0x94], 0x134001a
mov dword [esp + 0x98], 0x3000240
mov dword [esp + 0x9c], 0x5ee04e8
mov dword [esp + 0xa0], 0x7ff06ff
mov dword [esp + 0xa4], 0x90008ff
mov dword [esp + 0xa8], 0xb000a00
mov dword [esp + 0xac], 0xd000c00
mov dword [esp + 0xb0], 0xf300e00
mov dword [esp + 0xb4], 0x11001000
mov dword [esp + 0xb8], 0x13381200
mov dword [esp + 0xbc], 0x15001400
mov dword [esp + 0xc0], 0x17001600
mov dword [esp + 0xc4], 0x19001800
mov byte [esp + 0xc8], 0
mov dword [esp + 0x174], 0x10000dc
mov dword [esp + 0x178], 0x3000200
mov dword [esp + 0x17c], 0x5000400
mov dword [esp + 0x180], 0x7000600
mov dword [esp + 0x184], 0x9000800
mov dword [esp + 0x188], 0xb000a00
mov dword [esp + 0x18c], 0xd000c00
mov dword [esp + 0x190], 0xf000e00
mov dword [esp + 0x194], 0x11001000
mov dword [esp + 0x198], 0x13001200
mov dword [esp + 0x19c], 0x15001400
mov dword [esp + 0x1a0], 0x17001600
mov dword [esp + 0x1a4], 0x19001800
mov dword [esp + 0x1a8], 0x1b001a00
mov dword [esp + 0x1ac], 0x1d001c00
mov dword [esp + 0x1b0], 0x1f001e00
mov dword [esp + 0x1b4], 0x21002000
mov dword [esp + 0x1b8], 0x23002200
mov dword [esp + 0x1bc], 0x25002400
mov dword [esp + 0x1c0], 0x27002600
mov dword [esp + 0x1c4], 0x29002800
mov dword [esp + 0x1c8], 0x2b002a00
mov dword [esp + 0x1cc], 0x2d002c00
mov dword [esp + 0x1d0], 0x2f002e00
mov dword [esp + 0x1d4], 0x31003000
mov dword [esp + 0x1d8], 0x33003200
mov dword [esp + 0x1dc], 0x35003400
mov dword [esp + 0x1e0], 0x37003600
mov dword [esp + 0x1e4], 0x39003800
mov dword [esp + 0x1e8], 0x3b003a00
mov dword [esp + 0x1ec], 0x3d003c00
mov dword [esp + 0x1f0], 0x3f003e00
mov dword [esp + 0x1f4], 0x41004000
mov dword [esp + 0x1f8], 0x43004200
mov dword [esp + 0x1fc], 0x45004400
mov dword [esp + 0x200], 0x47004600
mov dword [esp + 0x204], 0x49004800
mov dword [esp + 0x208], 0x4b004a00
mov dword [esp + 0x20c], 0x4d004c00
mov dword [esp + 0x210], 0x4f004e00
mov dword [esp + 0x214], 0x51005000
mov dword [esp + 0x218], 0x53005200
mov dword [esp + 0x21c], 0x55005400
mov dword [esp + 0x220], 0x57005600
mov dword [esp + 0x224], 0x59005800
mov dword [esp + 0x228], 0x5b005a00
mov dword [esp + 0x22c], 0x5d005c00
mov dword [esp + 0x230], 0x5f005e00
mov dword [esp + 0x234], 0x61006000
mov dword [esp + 0x238], 0x63006200
mov dword [esp + 0x23c], 0x65006400
mov dword [esp + 0x240], 0x67006600
mov dword [esp + 0x244], 0x69006800
mov dword [esp + 0x248], 0x6b006a00
mov dword [esp + 0x24c], 0x6d006c00
mov dword [esp + 0x250], 0x6f006e00
mov dword [esp + 0x254], 0x71007000
mov dword [esp + 0x258], 0x73007200
mov dword [esp + 0x25c], 0x75007400
mov dword [esp + 0x260], 0x77007600
mov dword [esp + 0x264], 0x79007800
mov dword [esp + 0x268], 0x7b007a00
mov dword [esp + 0x26c], 0x7d007c00
mov dword [esp + 0x270], 0x7f007e00
mov dword [esp + 0x274], 0x81008000
mov dword [esp + 0x278], 0x83008200
mov dword [esp + 0x27c], 0x85008400
mov dword [esp + 0x280], 0x87008600
mov dword [esp + 0x284], 0x89008800
mov dword [esp + 0x288], 0x8b008a00
mov dword [esp + 0x28c], 0x8d008c00
mov dword [esp + 0x290], 0x8f008e00
mov dword [esp + 0x294], 0x91009000
mov dword [esp + 0x298], 0x93009200
mov dword [esp + 0x29c], 0x95009400
mov dword [esp + 0x2a0], 0x97009600
mov dword [esp + 0x2a4], 0x99009800
mov dword [esp + 0x2a8], 0x9b009a00
mov dword [esp + 0x2ac], 0x9d009c00
mov dword [esp + 0x2b0], 0x9f009e00
mov dword [esp + 0x2b4], 0xa100a000
mov dword [esp + 0x2b8], 0xa300a200
mov dword [esp + 0x2bc], 0xa500a400
mov dword [esp + 0x2c0], 0xa700a600
mov dword [esp + 0x2c4], 0xa900a800
mov dword [esp + 0x2c8], 0xab00aa00
mov dword [esp + 0x2cc], 0xad00ac00
mov dword [esp + 0x2d0], 0xaf00ae00
mov dword [esp + 0x2d4], 0xb100b000
mov dword [esp + 0x2d8], 0xb300b200
mov dword [esp + 0x2dc], 0xb500b400
mov dword [esp + 0x2e0], 0xb700b600
mov dword [esp + 0x2e4], 0xb900b800
mov dword [esp + 0x2e8], 0xbb00ba00
mov dword [esp + 0x2ec], 0xbd00bc00
mov dword [esp + 0x2f0], 0xbf00be00
mov dword [esp + 0x2f4], 0xc100c000
mov dword [esp + 0x2f8], 0xc300c200
mov dword [esp + 0x2fc], 0xc500c400
mov dword [esp + 0x300], 0xc700c600
mov dword [esp + 0x304], 0xc900c800
mov dword [esp + 0x308], 0xcb00ca00
mov dword [esp + 0x30c], 0xcd00cc00
mov dword [esp + 0x310], 0xcf00ce00
mov dword [esp + 0x314], 0xd100d000
mov dword [esp + 0x318], 0xd300d200
mov dword [esp + 0x31c], 0xd500d400
mov dword [esp + 0x320], 0xd700d600
mov dword [esp + 0x324], 0xd900d800
mov dword [esp + 0x328], 0xdb00da00
mov byte [esp + 0x32c], 0
mov dword [esp + 0xcc], 0x1320050
mov dword [esp + 0xd0], 0x3000275
mov dword [esp + 0xd4], 0x5e80400
mov dword [esp + 0xd8], 0x7000601
mov dword [esp + 0xdc], 0x9330880
mov dword [esp + 0xe0], 0xb000a75
mov dword [esp + 0xe4], 0xdd00c00
mov dword [esp + 0xe8], 0xf000e01
mov dword [esp + 0xec], 0x11341080
mov dword [esp + 0xf0], 0x13001275
mov dword [esp + 0xf4], 0x15b81400
mov dword [esp + 0xf8], 0x17001601
mov dword [esp + 0xfc], 0x19351880
mov dword [esp + 0x100], 0x1b001a75
mov dword [esp + 0x104], 0x1da01c00
mov dword [esp + 0x108], 0x1f001e01
mov dword [esp + 0x10c], 0x21362080
mov dword [esp + 0x110], 0x23002275
mov dword [esp + 0x114], 0x25882400
mov dword [esp + 0x118], 0x27002601
mov dword [esp + 0x11c], 0x29372880
mov dword [esp + 0x120], 0x2b002a75
mov dword [esp + 0x124], 0x2d702c00
mov dword [esp + 0x128], 0x2f002e01
mov dword [esp + 0x12c], 0x31383080
mov dword [esp + 0x130], 0x33003275
mov dword [esp + 0x134], 0x35583400
mov dword [esp + 0x138], 0x37003601
mov dword [esp + 0x13c], 0x39393880
mov dword [esp + 0x140], 0x3b003a75
mov dword [esp + 0x144], 0x3d403c00
mov dword [esp + 0x148], 0x3f003e01
mov dword [esp + 0x14c], 0x413a4080
mov eax, dword [esp + 0x18]
mov dword [esp + 0x150], 0x43004275
mov dword [esp + 0x154], 0x45284400
mov dword [esp + 0x158], 0x47004601
mov eax, dword [eax + 4]
mov dword [esp + 0x15c], 0x493b4880
mov dword [esp + 0x160], 0x4b004a75
mov dword [esp + 0x164], 0x4d104c00
mov dword [esp + 0x168], 0x4f004e01
mov byte [esp + 0x16c], 0x80
cmp dword [ebp + 8], eax
jae 0x1007578f
mov ecx, dword [esp + 0x28]
cmp cx, 4
je 0x1007519e
mov edx, 3
cmp dx, cx
jne 0x1007578f
cmp eax, 0x40000
jb 0x1007578f
mov ecx, edi
call fcn.100952c0
test byte [eax + 0x12], 1
je 0x1007578f
mov ecx, edi
call fcn.100952c0
test byte [eax + 0x12], 2
je 0x1007578f
mov ecx, edi
call fcn.100952c0
test byte [eax + 0x12], 4
je 0x1007578f
mov ecx, edi
call fcn.100952c0
test byte [eax + 0x12], 8
je 0x1007578f
mov ecx, edi
call fcn.100952c0
mov ecx, 0x100
test word [eax + 0x12], cx
je 0x1007578f
mov eax, dword [esp + 0x30]
cmp eax, 0x3a000
je 0x10075219
cmp eax, 0x3e000
jne 0x1007578f
cmp esi, 0xa000
je 0x1007522d
cmp esi, 0xb000
jne 0x1007578f
cmp ebx, 0x3f000
je 0x10075241
cmp ebx, 0x3b000
jne 0x1007578f
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x1c]
jne 0x1007578f
cmp dword [esp + 0x20], 5
jne 0x1007578f
cmp dword [esp + 0x24], 1
jne 0x1007578f
cmp dword [esp + 0x14], 0x45000
jb 0x1007578f
lea eax, [esp + 0x14]
mov ecx, edi
push eax
lea eax, [esp + 0x20]
push eax
push 0
call fcn.10095250
test al, al
je 0x1007578f
lea eax, [esp + 0x14]
mov ecx, edi
push eax
lea eax, [esp + 0x28]
push eax
push 1
call fcn.10095250
test al, al
je 0x1007578f
lea eax, [esp + 0x14]
mov ecx, edi
push eax
lea eax, [esp + 0x24]
push eax
push 2
call fcn.10095250
test al, al
je 0x1007578f
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
lea eax, [esp + 0x94]
mov dword [esp + 0x14], eax
mov eax, esi
sub eax, ecx
sub eax, 2
push eax
lea eax, [ecx + 2]
add eax, ebx
lea ecx, [esp + 0x18]
push eax
call fcn.1001cbe0
test al, al
je 0x1007578f
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x174]
mov ecx, esi
mov dword [esp + 0x14], edx
sub ecx, eax
add eax, ebx
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.1001cbe0
test al, al
je 0x1007578f
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xcc]
sub esi, eax
mov dword [esp + 0x14], ecx
add eax, 0x70
lea ecx, [esp + 0x14]
sub esi, 0x70
add eax, ebx
push esi
push eax
call fcn.1001cbe0
test al, al
je 0x1007578f
mov ecx, dword [ebp + 8]
cmp ecx, dword [esp + 0x1c]
je 0x1007578f
mov esi, dword [edi + 0x14]
test esi, esi
je 0x1007536a
mov ecx, dword [esi + 0x84]
jmp 0x1007536c
xor ecx, ecx
push 0
call fcn.100955a0
cmp dword [eax], 0
je 0x1007578f
test esi, esi
je 0x10075388
mov ecx, dword [esi + 0x84]
jmp 0x1007538a
xor ecx, ecx
push 0
call fcn.100955a0
lea ecx, [esp + 0x4c]
push dword [eax]
call fcn.10093bd0
mov dword [esp + 0x348], 0
mov esi, dword [edi + 0x14]
test esi, esi
je 0x100753b6
mov ecx, dword [esi + 0x84]
jmp 0x100753b8
xor ecx, ecx
push 1
call fcn.100955a0
cmp dword [eax], 0
jne 0x100753cb
xor esi, esi
jmp 0x10075667
test esi, esi
je 0x100753d7
mov ecx, dword [esi + 0x84]
jmp 0x100753d9
xor ecx, ecx
push 1
call fcn.100955a0
lea ecx, [esp + 0x64]
push dword [eax]
call fcn.10093bd0
mov byte [esp + 0x348], 1
mov esi, dword [edi + 0x14]
test esi, esi
je 0x10075402
mov ecx, dword [esi + 0x84]
jmp 0x10075404
xor ecx, ecx
push 2
call fcn.100955a0
cmp dword [eax], 0
jne 0x10075417
xor esi, esi
jmp 0x10075656
test esi, esi
je 0x10075423
mov ecx, dword [esi + 0x84]
jmp 0x10075425
xor ecx, ecx
push 2
call fcn.100955a0
lea ecx, [esp + 0x7c]
push dword [eax]
call fcn.10093bd0
mov byte [esp + 0x348], 2
cmp word [esp + 0x28], 4
jne 0x10075566
mov esi, dword [edi + 0x14]
test esi, esi
je 0x1007545a
mov ecx, dword [esi + 0x84]
jmp 0x1007545c
xor ecx, ecx
push 3
call fcn.100955a0
cmp dword [eax], 0
je 0x10075643
test esi, esi
je 0x10075478
mov ecx, dword [esi + 0x84]
jmp 0x1007547a
xor ecx, ecx
push 3
call fcn.100955a0
lea ecx, [esp + 0x34]
push dword [eax]
call fcn.10093bd0
mov byte [esp + 0x348], 3
mov esi, dword [esp + 0x44]
mov eax, esi
cmp esi, 6
jb 0x100754a4
mov eax, 6
cmp dword [esp + 0x48], 0x10
mov ecx, dword [esp + 0x34]
jae 0x100754b3
lea ecx, [esp + 0x34]
push eax
mov edx, str..idata
call fcn.1001b750
add esp, 4
test eax, eax
jne 0x100754d9
cmp esi, 6
jae 0x100754cf
or eax, 0xffffffff
jmp 0x100754d7
xor eax, eax
cmp esi, 6
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
jne 0x10075632
mov esi, dword [edi + 0x14]
test esi, esi
je 0x100754f8
mov ecx, dword [esi + 0x84]
jmp 0x100754fa
xor ecx, ecx
push 3
call fcn.100955a0
mov eax, dword [eax]
test byte [eax + 0x24], 0x40
je 0x10075632
test esi, esi
je 0x10075519
mov ecx, dword [esi + 0x84]
jmp 0x1007551b
xor ecx, ecx
push 3
call fcn.100955a0
mov eax, dword [eax]
test dword [eax + 0x24], 0x40000000
je 0x10075632
test esi, esi
je 0x1007553d
mov ecx, dword [esi + 0x84]
jmp 0x1007553f
xor ecx, ecx
push 3
call fcn.100955a0
mov eax, dword [eax]
test dword [eax + 0x24], 0x80000000
je 0x10075632
mov byte [esp + 0x348], 2
lea ecx, [esp + 0x34]
call fcn.10093c30
mov edx, 0x100bf5d8
lea ecx, [esp + 0x4c]
call fcn.1009c680
test al, al
je 0x10075643
mov edx, str..data
lea ecx, [esp + 0x64]
call fcn.1009c680
test al, al
je 0x10075643
mov edx, str..rsrc
lea ecx, [esp + 0x7c]
call fcn.1009c680
test al, al
je 0x10075643
mov ebx, dword [edi + 0xc]
cmp dword [ebx + 0x3c], 0
je 0x10075643
mov eax, dword [esp + 0x18]
mov ebx, dword [ebx + 0x3c]
mov esi, dword [edi + 0x14]
add ebx, dword [eax]
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 0x68]
call fcn.10094430
mov edx, dword [esp + 0x14]
xor ecx, ecx
test edx, edx
je 0x10075643
lea eax, [ebx + 0x7c]
jmp 0x100755e0
add ecx, dword [eax]
lea eax, [eax + 8]
dec edx
jne 0x100755e0
cmp ecx, 0x7f0d
jb 0x10075643
cmp dword [ebx + 0x84], 0x14
jb 0x10075643
cmp dword [ebx + 0x8c], 0x7bc2
jb 0x10075643
cmp dword [ebx + 0xdc], 0x318
jb 0x10075643
cmp dword [ebx + 0xd4], 0x20
jne 0x10075643
cmp dword [ebx + 0xd0], 0x238
jne 0x10075643
test esi, esi
je 0x10075682
mov ecx, dword [esi + 0x84]
jmp 0x10075684
mov byte [esp + 0x348], 2
lea ecx, [esp + 0x34]
call fcn.10093c30
xor esi, esi
mov byte [esp + 0x348], 1
lea ecx, [esp + 0x7c]
call fcn.10093c30
mov byte [esp + 0x348], 0
lea ecx, [esp + 0x64]
call fcn.10093c30
mov dword [esp + 0x348], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.10093c30
mov eax, esi
jmp 0x10075791
xor ecx, ecx
push 0
call fcn.100955a0
mov eax, dword [eax]
test byte [eax + 0x24], 0x20
je 0x10075643
test esi, esi
je 0x1007569f
mov ecx, dword [esi + 0x84]
jmp 0x100756a1
xor ecx, ecx
push 0
call fcn.100955a0
mov eax, dword [eax]
test dword [eax + 0x24], 0x20000000
je 0x10075643
test esi, esi
je 0x100756bf
mov ecx, dword [esi + 0x84]
jmp 0x100756c1
xor ecx, ecx
push 0
call fcn.100955a0
mov eax, dword [eax]
test dword [eax + 0x24], 0x40000000
je 0x10075643
test esi, esi
je 0x100756e3
mov ecx, dword [esi + 0x84]
jmp 0x100756e5
xor ecx, ecx
push 1
call fcn.100955a0
mov eax, dword [eax]
test byte [eax + 0x24], 0x40
je 0x10075643
test esi, esi
je 0x10075704
mov ecx, dword [esi + 0x84]
jmp 0x10075706
xor ecx, ecx
push 1
call fcn.100955a0
mov eax, dword [eax]
test dword [eax + 0x24], 0x40000000
je 0x10075643
test esi, esi
je 0x10075728
mov ecx, dword [esi + 0x84]
jmp 0x1007572a
xor ecx, ecx
push 1
call fcn.100955a0
mov eax, dword [eax]
test dword [eax + 0x24], 0x80000000
je 0x10075643
test esi, esi
je 0x1007574c
mov ecx, dword [esi + 0x84]
jmp 0x1007574e
xor ecx, ecx
push 2
call fcn.100955a0
mov eax, dword [eax]
test byte [eax + 0x24], 0x40
je 0x10075643
test esi, esi
je 0x1007576d
mov ecx, dword [esi + 0x84]
jmp 0x1007576f
xor ecx, ecx
push 2
call fcn.100955a0
mov eax, dword [eax]
test dword [eax + 0x24], 0x40000000
je 0x10075643
mov esi, 1
jmp 0x10075645
xor eax, eax
mov ecx, dword [esp + 0x340]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x328]
xor ecx, esp
call fcn.100b37df
mov esp, ebp
pop ebp
ret