Function at 0x49fc20
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x78
mov eax, dword [0x75a1c0]
xor eax, esp
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
push ebx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x38], eax
push esi
mov esi, dword [esp + 0x84]
mov dword [esp + 0x28], esi
cmp ecx, 0x300
jg 0x49fc9a
je 0x49fc88
cmp ecx, 0x100
je 0x49fc93
cmp ecx, 0x200
je 0x49fc93
pop esi
mov eax, 0xffffffe2
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.0067bc9f
add esp, 0x78
ret
mov dword [esp + 0x8c], 0x100
mov ebx, 5
jmp 0x49fcbd
cmp ecx, 0x3c00
je 0x49fcb8
pop esi
mov eax, 0xffffffe2
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.0067bc9f
add esp, 0x78
ret
mov ebx, 6
push ebp
push edi
xor ebp, ebp
mov dword [esp + 0x1c], ebx
xor edi, edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edi
test eax, eax
je 0x4a021a
cmp byte [eax], 0
je 0x4a0216
xor edi, edi
lea eax, [esp + 0x27]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.004a06c0
add esp, 0x10
cmp edi, ebx
jge 0x49fd12
mov eax, dword [esp + 0x48]
mov dword [esp + edi*8 + 0x54], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + edi*8 + 0x58], eax
inc edi
cmp byte [esp + 0x27], 0x3a
je 0x49fce2
mov eax, edi
cmp edi, ebx
jge 0x49fd35
mov dword [esp + eax*8 + 0x58], 0
mov dword [esp + eax*8 + 0x54], 0
inc eax
cmp eax, ebx
jl 0x49fd20
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x49fd46
cmp byte [ecx], 0x23
je 0x4a0206
mov ebp, dword [esp + 0x94]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x34], ebx
xor edx, edx
mov dword [esp + 0x28], 0xffffffff
xor eax, eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
cmp ebp, 0x3c00
je 0x49ff82
mov edx, dword [esp + 0x58]
sub edx, ecx
cmp byte [ecx], 0x64
jne 0x49fdc0
cmp edx, 1
je 0x49fd9f
cmp edx, 7
jb 0x49fdc0
cmp dword [ecx + 1], 0x75616665
jne 0x49fdc0
cmp word [ecx + 5], 0x746c
jne 0x49fdc0
mov ebp, 0x200
mov dword [esp + 0x2c], ebp
cmp edx, 7
jbe 0x49fdb4
add ecx, 7
mov dword [esp + 0x54], ecx
mov eax, 7
cmp eax, edx
sbb ebx, ebx
inc ebx
jmp 0x49fdc4
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + ebx*8 + 0x60]
lea eax, [esp + 0x28]
push eax
push ebp
push dword [esp + ebx*8 + 0x64]
call fcn.004a05b0
add esp, 0xc
cmp dword [esp + 0x28], 0xffffffff
jne 0x49fdfd
lea eax, [ebx + 3]
cmp edi, eax
jle 0x49fdfd
lea eax, [esp + 0x28]
push eax
push dword [esp + ebx*8 + 0x74]
push dword [esp + ebx*8 + 0x74]
call fcn.004a05b0
add esp, 0xc
mov ecx, dword [esp + ebx*8 + 0x58]
mov edx, dword [esp + ebx*8 + 0x54]
mov dword [esp + 0x10], esi
sub ecx, edx
je case.0x4a0188.46
movsx eax, byte [edx]
add eax, 0xffffff99
cmp eax, 0xe
ja case.0x49fe27.104
movzx eax, byte [eax + 0x4a047c]
jmp dword [eax*4 + 0x4a0468]
cmp ecx, 1
je 0x49fe52
cmp ecx, 4
jne case.0x49fe27.104
cmp word [edx + 1], 0x6573
jne case.0x49fe27.104
cmp byte [edx + 3], 0x72
jne case.0x49fe27.104
mov ecx, 0x2712
mov dword [esp + 0x10], ecx
jmp 0x49fef6
cmp ecx, 1
je 0x49fe7b
cmp ecx, 5
jne case.0x49fe27.104
cmp dword [edx + 1], 0x70756f72
jne case.0x49fe27.104
mov ecx, 0x2714
mov dword [esp + 0x10], ecx
jmp 0x49fef6
cmp ecx, 1
je 0x49fe99
cmp ecx, 5
jne case.0x49fe27.104
cmp dword [edx + 1], 0x72656874
jne case.0x49fe27.104
mov ecx, 0x2716
mov dword [esp + 0x10], ecx
jmp 0x49fef6
cmp ecx, 1
je 0x49febc
cmp ecx, 4
jne case.0x49fe27.104
cmp word [edx + 1], 0x7361
jne case.0x49fe27.104
cmp byte [edx + 3], 0x6b
jne case.0x49fe27.104
mov dword [esp + 0x10], 0x2715
mov ecx, dword [esp + ebx*8 + 0x5c]
lea eax, [ebx + 2]
cmp edi, eax
jne 0x49ff10
cmp ecx, ebp
jae 0x49ff10
lea eax, [esp + 0x20]
push eax
push ebp
push ecx
call fcn.004a0610
mov esi, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
je 0x49ff0c
mov dword [esp + 0x34], 1
jmp 0x49ff1f
mov ecx, esi
lea eax, [ecx - 0x2712]
cmp eax, 4
ja case.0x4a0188.46
jmp dword [eax*4 + 0x4a048c]
mov ecx, dword [esp + ebx*8 + 0x5c]
lea eax, [ebx + 3]
cmp edi, eax
jne 0x49ff1f
cmp ecx, ebp
jb case.0x4a0188.46
test esi, esi
jne 0x4a02e5
jmp 0x49ff58
cmp dword [esp + 0x28], 0xffffffff
jne 0x49ff36
cmp dword [esp + ebx*8 + 0x5c], ebp
jae 0x49ff58
mov eax, dword [esp + ebx*8 + 0x5c]
mov dword [esp + 0x38], eax
xor eax, eax
cmp ecx, 0x2712
mov dword [esp + 0x3c], ebp
setne al
lea eax, [eax*2 + 0x2711]
mov dword [esp + 0x10], eax
sub ebx, dword [esp + 0x34]
lea eax, [esp + 0x20]
push eax
push dword [esp + ebx*8 + 0x6c]
push dword [esp + ebx*8 + 0x6c]
call fcn.004a0610
add esp, 0xc
test eax, eax
je case.0x4a0188.46
mov esi, dword [esp + 0x20]
jmp 0x4a02e5
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 5
ja case.0x4a0188.46
jmp dword [eax*4 + 0x4a04a0]
cmp dword [ecx], 0x72657375
jne 0x4a0008
mov eax, 0x2711
mov dword [esp + 0x10], eax
jmp 0x4a000a
cmp dword [ecx], 0x756f7267
jne 0x4a0008
cmp byte [ecx + 4], 0x70
jne 0x4a0008
mov eax, 0x2713
mov dword [esp + 0x10], eax
jmp 0x4a000a
cmp dword [ecx], 0x656e776f
jne 0x49ffe5
cmp word [ecx + 4], 0x4072
jne 0x49ffe5
mov eax, 0x2712
jmp 0x4a00a7
cmp dword [ecx], 0x756f7267
jne 0x4a0000
cmp word [ecx + 4], 0x4070
jne 0x4a0000
mov eax, 0x2714
mov dword [esp + 0x10], eax
jmp 0x4a000a
mov eax, edx
mov dword [esp + 0x10], eax
jmp 0x4a000a
mov eax, edx
test eax, eax
je case.0x4a0188.46
cmp eax, 0x2711
je 0x4a0024
cmp eax, 0x2713
jne 0x4a00ab
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x28]
mov eax, dword [esp + 0x5c]
push ecx
push edx
push eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
call fcn.004a05b0
mov edx, dword [esp + 0x74]
lea eax, [esp + 0x84]
mov ecx, dword [esp + 0x70]
lea edi, [esp + 0x7c]
mov dword [esp + 0x40], eax
lea ebx, [esp + 0x78]
lea eax, [esp + 0x8c]
add esp, 0xc
mov dword [esp + 0x20], eax
lea ebp, [esp + 0x74]
lea eax, [esp + 0x7c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
jmp 0x4a00d7
cmp dword [ecx], 0x72657665
jne case.0x4a0188.46
cmp dword [ecx + 4], 0x656e6f79
jne case.0x4a0188.46
cmp byte [ecx + 8], 0x40
jne case.0x4a0188.46
mov eax, 0x277b
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x70]
mov dword [esp + 0x34], ecx
lea edi, [esp + 0x68]
lea ecx, [esp + 0x78]
mov dword [esp + 0x20], ecx
lea ebx, [esp + 0x64]
lea ecx, [esp + 0x74]
mov dword [esp + 0x40], ecx
lea ebp, [esp + 0x6c]
mov ecx, dword [esp + 0x5c]
cmp ecx, edx
jae 0x4a0169
nop
movsx eax, byte [ecx]
inc ecx
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x4a0188.46
movzx eax, byte [eax + 0x4a04f8]
jmp dword [eax*4 + 0x4a04b8]
or esi, 8
jmp case.0x4a00f7.45
or esi, 0x10
jmp case.0x4a00f7.45
or esi, 1
jmp case.0x4a00f7.45
or esi, 0x20
jmp case.0x4a00f7.45
or esi, 0x100
jmp case.0x4a00f7.45
or esi, 0x800
jmp case.0x4a00f7.45
or esi, 0x200
jmp case.0x4a00f7.45
or esi, 0x400
jmp case.0x4a00f7.45
or esi, 0x40
jmp case.0x4a00f7.45
or esi, 0x80
jmp case.0x4a00f7.45
or esi, 0x1000
jmp case.0x4a00f7.45
or esi, 0x2000
jmp case.0x4a00f7.45
or esi, 0x4000
jmp case.0x4a00f7.45
or esi, 0x8000
cmp ecx, edx
jb 0x4a00e0
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
mov ecx, dword [ebx]
cmp ecx, edx
jae 0x4a01c9
mov dword [esp + 0x10], eax
movsx eax, byte [ecx]
inc ecx
sub eax, 0x2d
cmp eax, 0x41
ja case.0x4a0188.46
movzx eax, byte [eax + 0x4a0568]
jmp dword [eax*4 + 0x4a0544]
or esi, 0x2000000
jmp case.0x4a0188.45
or esi, 0x4000000
jmp case.0x4a0188.45
or esi, 0x10000000
jmp case.0x4a0188.45
or esi, 0x8000000
jmp case.0x4a0188.45
or esi, 0x20000000
jmp case.0x4a0188.45
or esi, 0x40000000
jmp case.0x4a0188.45
or esi, 0x1000000
cmp ecx, edx
jb 0x4a0175
mov eax, dword [esp + 0x34]
mov ecx, dword [ebp]
xor ebp, ebp
mov eax, dword [eax]
sub eax, ecx
cmp eax, 4
jne 0x4a027a
cmp dword [ecx], 0x796e6564
mov eax, 0x800
cmove ebp, eax
mov dword [esp + 0x2c], ebp
test ebp, ebp
jne 0x4a02cc
mov ebx, dword [esp + 0x1c]
mov ebp, 0xffffffec
mov dword [esp + 0x14], ebp
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x49fcd7
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 4]
xor edx, edx
test ecx, ecx
je 0x4a0243
test dword [ecx + 4], edi
lea eax, [edx + 1]
mov ecx, dword [ecx]
cmove eax, edx
mov edx, eax
test ecx, ecx
jne 0x4a0223
test edx, edx
jle 0x4a0243
test edi, 0x100
je 0x4a0243
add edx, 3
and edi, 0x100
mov ecx, 0x2712
neg edi
sbb edi, edi
xor eax, eax
and edi, 3
cmp edx, edi
pop edi
cmovle ecx, eax
mov eax, ebp
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 4]
pop ebp
mov dword [esi + 8], ecx
pop esi
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.0067bc9f
add esp, 0x78
ret
cmp eax, 5
jne case.0x4a0188.46
cmp dword [ecx], 0x6f6c6c61
jne 0x4a0298
cmp byte [ecx + 4], 0x77
jne 0x4a0298
mov ebp, 0x400
jmp 0x4a02c8
cmp dword [ecx], 0x69647561
jne 0x4a02ad
cmp byte [ecx + 4], 0x74
jne 0x4a02ad
mov ebp, 0x1000
jmp 0x4a02c8
cmp dword [ecx], 0x72616c61
jne case.0x4a0188.46
cmp byte [ecx + 4], 0x6d
jne case.0x4a0188.46
mov ebp, 0x2000
mov dword [esp + 0x2c], ebp
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
mov eax, dword [esp + 0x48]
push dword [eax]
call fcn.004a05b0
add esp, 0xc
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
sub edi, ebp
mov ebx, dword [esp + 0x2c]
cmp ebx, 0x100
jne 0x4a03a9
test esi, 0xfffffff8
jne 0x4a03a9
mov eax, dword [esp + 0x10]
sub eax, 0x2712
je 0x4a037b
sub eax, 2
je 0x4a034c
sub eax, 2
jne 0x4a03a9
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
movzx eax, word [edx]
xor esi, eax
and esi, 7
xor esi, eax
or edi, ebx
mov ebx, dword [esp + 0x1c]
mov word [edx], si
mov dword [esp + 0x18], edi
jmp 0x4a020a
mov edx, dword [esp + 0x30]
lea ecx, [esi*8]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
movzx eax, word [edx]
xor ecx, eax
and ecx, 0x38
xor ecx, eax
or edi, ebx
mov ebx, dword [esp + 0x1c]
mov word [edx], cx
mov dword [esp + 0x18], edi
jmp 0x4a020a
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
shl esi, 6
movzx eax, word [ecx]
xor esi, eax
and esi, 0x1c0
xor esi, eax
or edi, ebx
mov ebx, dword [esp + 0x1c]
mov word [ecx], si
mov dword [esp + 0x18], edi
jmp 0x4a020a
push dword [esp + 0x28]
push dword [esp + 0x14]
push esi
push ebx
push dword [esp + 0x40]
call fcn.0049f930
add esp, 0x14
test eax, eax
je 0x4a044c
test ebp, ebp
je 0x4a0411
cmp byte [ebp], 0
je 0x4a0411
test edi, edi
je 0x4a0411
push dword [esp + 0x50]
add eax, 0x14
push edi
push ebp
push eax
call fcn.00496340
add esp, 0x10
test eax, eax
je 0x4a041d
call fcn.00688468
cmp dword [eax], 0xc
je 0x4a0434
mov edi, dword [esp + 0x18]
mov ebp, 0xffffffec
or edi, ebx
mov dword [esp + 0x14], ebp
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], edi
jmp 0x4a020a
add eax, 0x14
push eax
call fcn.00496120
add esp, 4
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
or edi, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], edi
jmp 0x4a020a
pop edi
pop ebp
pop esi
mov eax, 0xffffffe2
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.0067bc9f
add esp, 0x78
ret
mov ecx, dword [esp + 0x84]
mov eax, 0xffffffe7
pop edi
pop ebp
pop esi
pop ebx
xor ecx, esp
call fcn.0067bc9f
add esp, 0x78
ret