Function at 0x4a428c
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
mov eax, 0x5b14b4
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
call fcn.004d57f0
mov word [ebp - 0x14], 8
test edi, edi
jne 0x4a42bb
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4a4709
push edi
call fcn.0045586c
pop ecx
add eax, 0xffffff7d
sub eax, 2
jb 0x4a431b
sub eax, 0x11
je 0x4a42da
sub eax, 0x96
je 0x4a42da
jmp 0x4a4356
mov ebx, dword [edi + 0x2c]
mov esi, dword [edi + 0x8c]
mov eax, dword [edi + 0x90]
mov dword [ebp - 0x2c], eax
call fcn.0047d3d8
push esi
push edi
lea edx, [edi + 0x78]
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edx
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x4a4364
mov ebx, dword [edi + 0x17]
mov esi, dword [edi + 0x1b]
mov eax, dword [edi + 0x1f]
mov dword [ebp - 0x2c], eax
call fcn.0047d3d8
push esi
push edi
lea edx, [edi + 0x78]
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edx
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x4a4364
mov eax, dword [ebp - 0x24]
mov dword fs:[0], eax
jmp 0x4a4709
mov edx, dword [0x52ede5]
cmp edx, 0xebc
jne 0x4a4385
or ebx, 1
push 0x52ee5f
call fcn.004db08c
pop ecx
mov dword [ebp - 0x28], eax
jmp 0x4a438d
and ebx, 0xfffffffe
xor ecx, ecx
mov dword [ebp - 0x28], ecx
test byte [0x52fca8], 1
je 0x4a439b
or esi, 4
jmp 0x4a439e
and esi, 0xfffffffb
test byte [0x52fca8], 2
je 0x4a43ac
or esi, 2
jmp 0x4a43af
and esi, 0xfffffffd
mov al, byte [0x52dfec]
test al, al
je 0x4a43e9
mov edx, dword [0x52fcb0]
test edx, edx
jne 0x4a43ca
or esi, 0x100
jmp 0x4a43d0
and esi, 0xfffffeff
mov ecx, dword [0x52fcb0]
dec ecx
jne 0x4a43e1
or esi, 0x80
jmp 0x4a43f5
and esi, 0xffffff7f
jmp 0x4a43f5
and esi, 0xfffffeff
and esi, 0xffffff7f
mov eax, dword [0x52fca8]
test ah, 0x20
jne 0x4a4404
test ah, 0x10
je 0x4a440a
or esi, 4
or esi, 2
and esi, 0xffffffdf
and esi, 0xffffffbf
mov eax, dword [0x52fcb4]
cmp eax, 1
jne 0x4a4420
or esi, 0x40
or esi, 0x20
cmp eax, 2
jne 0x4a4428
or esi, 0x20
mov edx, dword [0x52b10c]
test edx, edx
je 0x4a4437
or esi, 0x10
jmp 0x4a443a
and esi, 0xffffffef
mov cl, byte [0x52e418]
test cl, cl
je 0x4a444c
or ebx, 0x4000
jmp 0x4a4452
and ebx, 0xffffbfff
mov al, byte [0x5300f7]
test al, al
je 0x4a4463
or ebx, 0x2000
jmp 0x4a4469
and ebx, 0xffffdfff
mov dl, byte [0x52e41c]
test dl, dl
je 0x4a447b
or ebx, 0x20000
jmp 0x4a4481
and ebx, 0xfffdffff
mov cl, byte [0x52e41d]
test cl, cl
je 0x4a4493
or ebx, 0x40000
jmp 0x4a4499
and ebx, 0xfffbffff
mov al, byte [0x52e40a]
test al, al
je 0x4a44a7
or ebx, 2
jmp 0x4a44aa
and ebx, 0xfffffffd
mov dl, byte [0x52eab2]
test dl, dl
je 0x4a44b9
or ebx, 8
jmp 0x4a44bc
and ebx, 0xfffffff7
mov cl, byte [0x52eddf]
test cl, cl
je 0x4a44ce
or ebx, 0x80
jmp 0x4a44d4
and ebx, 0xffffff7f
mov al, byte [0x52e425]
test al, al
je 0x4a44e5
or ebx, 0x100
jmp 0x4a44eb
and ebx, 0xfffffeff
call fcn.00494a54
test al, al
je 0x4a44fc
or ebx, 0x800000
jmp 0x4a4502
and ebx, 0xff7fffff
movsx edx, byte [0x530105]
cmp edx, 0x52
jne 0x4a4516
or ebx, 0x8000
jmp 0x4a451c
and ebx, 0xffff7fff
mov ecx, dword [0x52a63c]
test ecx, ecx
je 0x4a452e
or ebx, 0x10000
jmp 0x4a4534
and ebx, 0xfffeffff
mov al, byte [0x52e3f7]
test al, al
je 0x4a4545
or ebx, 0x100000
jmp 0x4a454b
and ebx, 0xffefffff
mov dl, byte [0x52e401]
test dl, dl
je 0x4a455d
or ebx, 0x200000
jmp 0x4a4563
and ebx, 0xffdfffff
mov cl, byte [0x52edd0]
test cl, cl
je 0x4a4575
or ebx, 0x80000000
jmp 0x4a457b
and ebx, 0x7fffffff
mov al, byte [0x52e3f9]
test al, al
jne 0x4a4598
mov dl, byte [0x52e3fd]
test dl, dl
jne 0x4a4598
mov cl, byte [0x52e3ff]
test cl, cl
je 0x4a45a0
or ebx, 0x40000000
jmp 0x4a45a6
and ebx, 0xbfffffff
mov al, byte [0x52e3f7]
test al, al
je 0x4a45c1
mov edx, dword [0x52eabc]
inc edx
jne 0x4a45c1
test al, al
je 0x4a45c1
or ebx, 0x20
jmp 0x4a45c4
and ebx, 0xffffffdf
mov cl, byte [0x52e409]
test cl, cl
je 0x4a45d3
or ebx, 0x40
jmp 0x4a45d6
and ebx, 0xffffffbf
mov al, byte [0x5300fc]
test al, al
je 0x4a45e7
or esi, 0x200
jmp 0x4a45ed
and esi, 0xfffffdff
movsx edx, byte [0x52a67c]
cmp edx, 0xc
ja case.0x4a45ff.0
mov dl, byte [edx + 0x4a4606]
jmp dword [edx*4 + 0x4a4613]
or ebx, 0x10000000
or ebx, 536870912
jmp 0x4a464b
and ebx, 0xefffffff
or ebx, 0x20000000
jmp 0x4a464b
and ebx, 0xefffffff
and ebx, 0xdfffffff
push edi
call fcn.0045586c
pop ecx
add eax, 0xffffff7d
sub eax, 2
jb 0x4a4699
sub eax, 0x11
je 0x4a466a
sub eax, 0x96
je 0x4a466a
jmp 0x4a46c2
call fcn.00401298
mov dword [edi + 0x24], eax
mov cx, word [0x52e41a]
mov word [edi + 0x30], cx
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x8c], esi
mov eax, dword [ebp - 0x2c]
mov dword [edi + 0x90], eax
mov dx, word [ebp - 0x28]
mov word [edi + 0x32], dx
jmp 0x4a46ce
call fcn.00401298
mov dword [edi + 0xf], eax
mov cx, word [0x52e41a]
mov word [edi + 0x33], cx
mov dword [edi + 0x17], ebx
mov dword [edi + 0x1b], esi
mov eax, dword [ebp - 0x2c]
mov dword [edi + 0x1f], eax
mov dx, word [ebp - 0x28]
mov word [edi + 0x2f], dx
jmp 0x4a46ce
mov ecx, dword [ebp - 0x24]
mov dword fs:[0], ecx
jmp 0x4a4709
mov dword [0x4e2074], 0x116
mov word [ebp - 0x14], 0
jmp 0x4a46ff
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
mov esp, ebp
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
pop ebp
ret
shr dword [ebx], 1
stc
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push edi
lea edi, [ebp - 0x40c]
mov esi, 0x5f8d7b
mov eax, edi
lea edx, [ebp - 0x40c]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 4
push edx
push esi
call fcn.004d3138
add esp, 0xc
test eax, eax
jne 0x4b1206
mov ebx, 4
test edi, edi
je 0x4b1206
push esi
push edi
mov esi, edi
xor eax, eax
lea edi, [ebp - 0x40c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push edi
lea edi, [ebp - 0x40c]
mov esi, 0x5f8d80
mov eax, edi
lea edx, [ebp - 0x40c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 7
push edx
push esi
call fcn.004d3138
add esp, 0xc
test eax, eax
jne 0x4b1279
mov ebx, 7
test edi, edi
je 0x4b1261
push esi
push edi
mov esi, edi
xor eax, eax
lea edi, [ebp - 0x40c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4b1279
mov edx, dword [ebp + 0x10]
push esi
mov esi, 0x5f8d88
mov edi, edx
mov eax, edi
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop esi
lea eax, [esi + ebx]
jmp 0x4b1280
inc ebx
inc eax
mov dl, byte [eax]
cmp dl, 0x20
je 0x4b127e
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x40c]
mov dl, byte [esi + ebx]
cmp dl, 0x3a
jne 0x4b12b2
mov cl, byte [esi + ebx + 1]
cmp cl, 0x2f
jne 0x4b12b2
mov dl, byte [esi + ebx + 2]
cmp dl, 0x2f
jne 0x4b12b2
add ebx, 3
mov byte [eax], 0
jmp 0x4b12d8
mov dl, byte [esi + ebx]
test dl, dl
je 0x4b12c3
cmp dl, 0xa
je 0x4b12c3
cmp dl, 0xd
jne 0x4b12cf
mov ebx, dword [ebp - 4]
mov byte [ebp - 0x40c], 0
jmp 0x4b12d8
mov dl, byte [esi + ebx]
mov byte [eax], dl
inc ebx
inc eax
jmp 0x4b1290
mov dword [ebp - 8], 0x50
push 0x5f8d8e
lea eax, [ebp - 0x40c]
push eax
call fcn.004d30a0
add esp, 8
test eax, eax
jne 0x4b12fe
mov dword [ebp - 8], 0x1bb
push 0x5f8d94
lea ecx, [ebp - 0x40c]
push ecx
call fcn.004d30a0
add esp, 8
test eax, eax
jne 0x4b131d
mov dword [ebp - 8], 0x15
mov al, byte [ebp - 0x40c]
test al, al
je 0x4b1358
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x4b1358
mov ecx, dword [ebp + 0x10]
push esi
mov esi, ecx
xor eax, eax
lea edi, [ebp - 0x40c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
xor edi, edi
mov al, byte [esi + ebx]
cmp al, 0x3a
jne 0x4b1412
mov byte [ebp + edi - 0x40c], 0
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x4b139e
mov ecx, dword [ebp + 0x14]
push esi
mov esi, ecx
xor eax, eax
lea edi, [ebp - 0x40c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
inc ebx
lea eax, [ebp - 0x40c]
mov dword [ebp - 0xc], eax
lea eax, [esi + ebx]
mov dl, byte [eax]
test dl, dl
je 0x4b13c5
cmp dl, 0xa
je 0x4b13c5
cmp dl, 0xd
je 0x4b13c5
cmp dl, 0x2f
je 0x4b13c5
cmp dl, 0x20
jne 0x4b13cd
mov ecx, dword [ebp - 0xc]
mov byte [ecx], 0
jmp 0x4b13db
mov edx, dword [ebp - 0xc]
mov cl, byte [eax]
inc eax
inc ebx
mov byte [edx], cl
inc dword [ebp - 0xc]
jmp 0x4b13ab
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4b1489
mov eax, dword [ebp + 0x18]
push esi
mov esi, eax
xor eax, eax
lea edi, [ebp - 0x40c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x4b1489
mov al, byte [esi + ebx]
test al, al
je 0x4b1425
cmp al, 0xa
je 0x4b1425
cmp al, 0xd
je 0x4b1425
cmp al, 0x2f
jne 0x4b1478
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4b143d
mov ecx, dword [ebp + 0x18]
push esi
push edi
mov edi, ecx
mov eax, edi
mov esi, 0x5f8d98
movsb byte es:[edi], byte [esi]
pop edi
pop esi
mov byte [ebp + edi - 0x40c], 0
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x4b1489
mov ecx, dword [ebp + 0x14]
push esi
mov esi, ecx
xor eax, eax
lea edi, [ebp - 0x40c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x4b1489
mov al, byte [esi + ebx]
mov byte [ebp + edi - 0x40c], al
inc ebx
inc edi
jmp 0x4b135a
lea edx, [ebp - 0x40c]
lea eax, [esi + ebx]
mov cl, byte [eax]
test cl, cl
je 0x4b14a7
cmp cl, 0xa
je 0x4b14a7
cmp cl, 0xd
je 0x4b14a7
cmp cl, 0x20
jne 0x4b14ac
mov byte [edx], 0
jmp 0x4b14b5
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc ebx
inc edx
jmp 0x4b1492
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4b14e6
mov edx, dword [ebp + 0x1c]
xor eax, eax
push esi
lea edi, [ebp - 0x40c]
or ecx, 0xffffffff
mov esi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
lea eax, [esi + ebx]
jmp 0x4b14ed
inc ebx
inc eax
mov dl, byte [eax]
cmp dl, 0x20
je 0x4b14eb
lea edx, [ebp - 0x40c]
lea eax, [esi + ebx]
mov cl, byte [eax]
test cl, cl
je 0x4b1512
cmp cl, 0xa
je 0x4b1512
cmp cl, 0xd
je 0x4b1512
cmp cl, 0x20
jne 0x4b1517
mov byte [edx], 0
jmp 0x4b151f
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
jmp 0x4b14fd
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4b154e
xor eax, eax
lea edi, [ebp - 0x40c]
or ecx, 0xffffffff
mov edx, dword [ebp + 0x20]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edx
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4b1573
mov edx, dword [ebp + 0x18]
mov cl, byte [edx]
test cl, cl
jne 0x4b1573
mov eax, dword [ebp - 8]
push eax
push 0x5f8d99
mov edx, dword [ebp + 0x18]
push edx
call fcn.004d75f8
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret