Function at 0x420082
Capabilities:
Inspect section memory permissions

Disassembly:
push 0xc8
mov eax, 0x432771
call fcn.0042fed0
mov ebx, edx
mov esi, ecx
mov eax, dword [ebp + 8]
and dword [ebp - 0x88], 0
push 0x34
pop edi
push edi
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0xc0]
push 0
push eax
call sub.msvcrt.dll_memset
and dword [ebp - 0x7c], 0
xor eax, eax
and dword [ebp - 0xb0], 0
xor ecx, ecx
mov dword [ebp - 0xc0], edi
inc ecx
lea edi, [ebp - 0xd4]
mov dword [ebp - 0xa4], ecx
stosd dword es:[edi], eax
add esp, 0xc
cmp dword [ebx + 0x14], 8
mov dword [ebp - 0xb4], 2
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0xd4], 0x10
jb 0x420101
mov eax, dword [ebx]
mov dword [ebp - 0xd0], eax
jmp 0x420107
mov dword [ebp - 0xd0], ebx
and dword [ebp - 0xbc], 0
lea eax, [ebp - 0xd4]
push 0x18
pop edi
push edi
push 8
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x420147
mov ebx, 0x8007000e
jmp 0x420472
mov dword [eax], edi
cmp byte [esi + 0xa1], 0
jne 0x42015b
cmp byte [esi + 0xa6], 0
je 0x420165
mov eax, dword [ebp - 0x90]
or dword [eax + 8], 2
cmp byte [esi + 0xa0], 0
je 0x420189
mov eax, dword [ebp - 0x90]
or dword [eax + 8], 1
mov eax, dword [ebp - 0x90]
mov ecx, dword [esi + 0xbc]
mov dword [eax + 4], ecx
jmp 0x4201af
cmp byte [esi + 0xa6], 0
jne 0x4201af
cmp byte [esi + 0xa1], 0
jne 0x4201cb
mov eax, dword [ebp - 0x90]
or dword [eax + 8], 1
mov eax, dword [ebp - 0x90]
and dword [eax + 4], 0
cmp byte [esi + 0xa1], 0
jne 0x4201cb
cmp byte [esi + 0xa2], 0
je 0x4201cb
mov eax, dword [ebp - 0x90]
or dword [eax + 8], 4
cmp dword [esi + 0x140], 0
je 0x420260
push 0xc
pop ebx
push ebx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx + 0x14]
test eax, eax
jne 0x42020e
mov esi, dword [ebp - 0x7c]
mov ebx, 0x8007000e
jmp 0x42042c
mov dword [eax], ebx
lea edi, [esi + 0x130]
mov eax, dword [ebp - 0x90]
push 0xc
push 8
mov ebx, dword [eax + 0x14]
mov dword [ebx + 4], 1
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
jne 0x420248
mov esi, dword [ebp - 0x7c]
mov ebx, 0x8007000e
jmp 0x420426
cmp dword [edi + 0x14], 8
jb 0x420250
mov edi, dword [edi]
mov dword [eax + 4], edi
mov dword [ebx + 8], eax
xor ebx, ebx
mov dword [ebp - 0x88], ebx
jmp 0x420266
mov ebx, dword [ebp - 0x88]
cmp byte [esi + 0x33e], 0
je 0x420279
or dword [ebp - 0x98], 0x8000
cmp byte [esi + 0x9a], 0
mov edi, dword [ebp - 0x80]
jne 0x42028c
mov ecx, edi
call fcn.004078ec
cmp byte [esi + 0xa1], 0
je 0x4204ab
and dword [ebp - 0x8c], 0
xor eax, eax
mov dword [ebp - 0x80], eax
xor dl, dl
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x90]
mov byte [ebp - 0x75], dl
mov byte [ebp - 0x76], dl
or dword [eax + 8], 1
xor edx, edx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x84], edx
jmp 0x4202d9
mov edx, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xa4], eax
mov dword [ecx + 4], edx
mov edx, edi
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0xc0]
push esi
and dword [eax + 0x10], 0
call fcn.0041fc6c
test eax, eax
jns 0x42030d
test ebx, ebx
jne 0x42030d
mov ebx, eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
test eax, eax
jne 0x420326
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x8c], eax
test dword [ecx + 8], 0x20000000
je 0x420349
test dword [ecx + 8], 0x40000000
je 0x42033c
mov byte [ebp - 0x75], 1
test dword [ecx + 8], 0x80000000
je 0x420349
mov byte [ebp - 0x76], 1
mov edx, dword [ebp - 0x84]
inc edx
inc eax
mov dword [ebp - 0x84], edx
cmp edx, eax
jb 0x4202dc
and dword [ecx + 8], 0xfffffffe
mov eax, dword [ebp - 0x90]
inc dword [ebp - 0x80]
mov dword [ebp - 0x7c], ebx
mov ebx, dword [ebp - 0x88]
or dword [eax + 8], 4
cmp byte [esi + 0xa2], 0
mov ecx, dword [ebp - 0x90]
je 0x42038d
test dword [ecx + 8], 0x20000000
jne 0x420396
mov dl, byte [ebp - 0x75]
test dl, dl
je 0x4203d3
jmp 0x420399
mov dl, byte [ebp - 0x75]
cmp dword [ebp - 0x80], 2
jb 0x4202d3
test dl, dl
je 0x4203d3
cmp byte [ebp - 0x76], 0
jne 0x4203d3
inc dword [0x439c00]
cmp byte [esi + 0x9a], 0
mov dword [ebp - 0x7c], 0x800b0100
je 0x4203d3
mov ecx, 0x8bf
call fcn.0040dc73
mov ecx, dword [ebp - 0x90]
cmp byte [esi + 0xa2], 0
je 0x4203f5
test dword [ecx + 8], 0x20000000
jne 0x4203f5
mov ecx, 0x8c2
call fcn.0040dcbd
mov ecx, dword [ebp - 0x90]
mov esi, dword [ebp - 0x7c]
test esi, esi
jne 0x42042c
push ecx
mov ecx, 0x4396a0
call fcn.0040b701
mov ecx, 0x4396a0
call fcn.0040b7df
cmp dword [edi + 0x14], 8
jb 0x420419
mov edi, dword [edi]
push edi
push 0x89b
call fcn.0040dd9f
pop ecx
pop ecx
mov ecx, dword [ebp - 0x90]
test ecx, ecx
je 0x42046e
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x420457
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [ebp - 0x90]
and dword [eax + 0x14], 0
mov ecx, dword [ebp - 0x90]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
and dword [ebp - 0x90], 0
test ebx, ebx
jns 0x4204c6
push 0x40465c
lea ecx, [ebp - 0x2c]
call fcn.0040c051
and dword [ebp - 4], 0
lea ecx, [ebp - 0x74]
call fcn.00406389
push eax
push ebx
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x58]
call fcn.0040d0d7
push 0x438060
lea eax, [ebp - 0x58]
push eax
call sub.msvcrt.dll__CxxThrowException
push esi
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.0041fc6c
mov ecx, dword [ebp - 0x90]
mov esi, eax
jmp 0x4203f8
mov eax, esi
call fcn.0042fe70
ret 4