Function at 0x5a0360
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf4
mov ecx, dword [ebp + 8]
push ebx
xor eax, eax
push esi
mov ebx, dword [ecx + 4]
push edi
cmp ebx, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
jne 0x5a0398
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x94]
mov esi, dword [ebx + 0x48]
cmp ecx, eax
mov dword [ebp - 0x2c], esi
jle 0x5a0f66
mov eax, dword [esi + 0xc]
mov ecx, 1
cmp eax, ecx
jle 0x5a0461
dec eax
mov dword [ebp - 0x30], eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x4c]
test eax, 0x10000000
je 0x5a04db
test eax, 0x20000000
je 0x5a04db
mov edx, dword [ebp + 0xc]
movsx ecx, byte [edx]
cmp ecx, 2
jne 0x5a03fb
mov edx, dword [ebp - 0xc]
test edx, edx
jne 0x5a03fb
cmp dword [ebp - 4], 1
jg 0x5a03fb
or eax, 0x20000000
jmp 0x5a0400
and eax, 0xdfffffff
cmp ecx, 1
mov dword [esi + 0x4c], eax
jne 0x5a041e
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x5a041e
cmp dword [ebp - 4], ecx
jg 0x5a041e
mov eax, dword [esi + 0x4c]
or eax, 0x40000000
jmp 0x5a0426
mov eax, dword [esi + 0x4c]
and eax, 0xbfffffff
push ebx
mov dword [esi + 0x4c], eax
call fcn.005aa130
mov edi, eax
add esp, 4
test edi, edi
jne 0x5a0cb7
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp - 0x30]
test eax, 0x10000000
mov dword [esi + 0xc], ecx
je 0x5a0457
test eax, 0x20000000
jne 0x5a0ccb
or eax, 0x20000000
mov dword [esi + 0x4c], eax
jmp 0x5a04db
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
cmp eax, 2
jne 0x5a0483
mov edx, dword [ebp - 0xc]
test edx, edx
jne 0x5a0483
cmp dword [ebp - 4], ecx
jg 0x5a0483
mov edx, dword [esi + 0x4c]
or edx, 0x20000000
jmp 0x5a048c
mov edx, dword [esi + 0x4c]
and edx, 0xdfffffff
cmp eax, ecx
mov dword [esi + 0x4c], edx
jne 0x5a04a8
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x5a04a8
cmp dword [ebp - 4], ecx
jg 0x5a04a8
mov eax, edx
or eax, 0x40000000
jmp 0x5a04b0
mov eax, dword [esi + 0x4c]
and eax, 0xbfffffff
push ebx
mov dword [esi + 0x4c], eax
call fcn.005aa130
mov edi, eax
add esp, 4
test edi, edi
jne 0x5a0cd8
mov eax, dword [esi + 0x4c]
test eax, 0x10000000
je 0x5a04db
test eax, 0x20000000
jne 0x5a0cec
movsx eax, byte [esi + 0x48]
add eax, 0xfffffffe
cmp eax, 0x1a
ja case.0x5a04f3.7
xor ecx, ecx
mov cl, byte [eax + 0x5a10e0]
jmp dword [ecx*4 + 0x5a10c8]
mov eax, dword [ebx + 0x34]
mov edx, dword [ebx + 0xb4]
mov ecx, dword [ebx + 0x94]
add edx, eax
dec ecx
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x38], eax
mov eax, ecx
cmp eax, 1
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x94], ecx
jl 0x5a0d04
jmp 0x5a0ca4
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx]
cmp al, 1
je 0x5a05aa
cmp al, 2
je 0x5a05a6
mov ecx, dword [esi + 0x4c]
test ecx, 0x200000
jne 0x5a05a6
mov eax, dword [ebx + 0x11c]
test ah, 1
je 0x5a0d18
test ecx, 0x80000000
je 0x5a0d18
mov edi, dword [ebp - 4]
lea edx, [ebp - 0xbc]
push edi
lea eax, [ebp - 0x24]
push edx
lea ecx, [ebp + 0x10]
push eax
lea edx, [ebp + 0xc]
push ecx
push edx
call fcn.005a4150
add esp, 0x14
test eax, eax
je 0x5a0d18
mov eax, dword [ebp + 0xc]
cmp byte [eax], 2
jne 0x5a06b9
cmp edi, 2
jl 0x5a0dc9
mov dword [ebp - 0x14], 1
jmp 0x5a094c
cmp al, 1
jne 0x5a05be
mov edi, dword [ebp - 4]
cmp edi, 2
jge 0x5a05c1
mov dword [ebp - 0x14], 1
jmp 0x5a094c
mov edi, dword [ebp - 4]
cmp al, 2
jne 0x5a05ce
cmp edi, 2
jl 0x5a0dc9
lea ecx, [ebp + 0x10]
push edi
lea edx, [ebp + 0xc]
push ecx
push edx
call fcn.005a40c0
add esp, 0xc
cmp eax, 2
jne 0x5a05ec
cmp edi, eax
jl 0x5a0dc9
mov edi, 1
cmp eax, edi
jne 0x5a05fd
mov dword [ebp - 0x14], edi
jmp 0x5a094c
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0xb4]
add ecx, eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x34], ecx
mov ecx, dword [ebx + 0x94]
dec ecx
mov edx, eax
mov eax, ecx
mov dword [ebx + 0x38], edx
cmp eax, edi
mov dword [ebx + 0x94], ecx
jl 0x5a0d71
jmp 0x5a0ca4
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
xor eax, eax
test edx, edx
jle 0x5a0ca4
mov edi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
cmp edi, edx
jb 0x5a064f
mov byte [ecx + eax], 0x20
jmp 0x5a065b
mov dl, byte [edi]
mov byte [ecx + eax], dl
mov edx, dword [ebx + 0x2c]
inc edx
mov dword [ebx + 0x2c], edx
mov edx, dword [esi + 0x38]
inc eax
cmp eax, edx
jl 0x5a063f
jmp 0x5a0ca4
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
mov al, byte [eax]
cmp al, 1
jne 0x5a0685
cmp edi, 2
jge 0x5a0685
mov dword [ebp - 0x14], 1
jmp 0x5a0ca4
cmp al, 2
jne 0x5a0692
cmp edi, 2
jl 0x5a0dc9
lea ecx, [ebp + 0x10]
push edi
lea edx, [ebp + 0xc]
push ecx
push edx
call fcn.005a40c0
add esp, 0xc
cmp eax, 2
jne 0x5a06b0
cmp edi, eax
jl 0x5a0dc9
cmp eax, 1
jne 0x5a0ca4
mov dword [ebp - 0x14], 1
jmp 0x5a094c
mov ecx, 1
mov dword [ebp - 0x34], ecx
jmp 0x5a06d4
mov ecx, 1
cmp dword [ebp - 4], ecx
jle 0x5a079d
mov eax, dword [ebp - 0xbc]
cmp eax, 8
je 0x5a0716
cmp eax, 7
je 0x5a0716
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
add edi, ecx
test eax, eax
mov dword [ebp - 0x24], edi
je 0x5a0795
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 0
dec eax
mov dword [ebp - 4], eax
jmp 0x5a0941
mov eax, dword [ebp - 0xc]
xor edx, edx
cmp eax, edx
je 0x5a0739
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], edx
jmp 0x5a094c
cmp dword [ebp - 0x38], edx
je 0x5a0741
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xb8]
xor eax, eax
cmp ecx, edx
jle 0x5a0772
lea ecx, [ebp - 0xf4]
mov edi, dword [ebp + eax*4 - 0x5c]
add ecx, 4
sub edi, dword [ebp + eax*4 - 0xd8]
imul edi, dword [ecx - 4]
add edx, edi
mov edi, dword [ebp - 0xb8]
inc eax
cmp eax, edi
jl 0x5a0753
mov ecx, dword [ebp - 0xb4]
lea eax, [ebp - 0x5c]
add edx, ecx
mov dword [ebp - 0x24], edx
lea edx, [ebp - 0xbc]
push edx
push eax
push 0
call fcn.005aab10
mov edi, dword [ebp - 0x24]
add esp, 0xc
dec dword [ebp - 4]
jmp 0x5a0941
lea ecx, [ebp - 0xbc]
lea edx, [ebp - 0x24]
push ecx
lea eax, [ebp + 0x10]
push edx
lea ecx, [ebp + 0xc]
push eax
push ecx
call fcn.005a3d90
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x5a0dd9
mov ecx, dword [ebp - 0x1c]
cmp ecx, 2
je 0x5a0e2a
mov edx, 1
cmp ecx, edx
jne 0x5a07df
mov dword [ebp - 0x14], edx
jmp 0x5a094c
mov eax, dword [ebp - 0xbc]
cmp eax, 8
je 0x5a0860
cmp eax, 7
je 0x5a0860
cmp eax, 5
je 0x5a0822
cmp eax, 6
je 0x5a0822
cmp ecx, 0x1c
jl 0x5a0816
cmp ecx, 0x2c
jg 0x5a0816
mov dword [ebp - 4], 2
mov dword [ebp - 0xc], 1
jmp 0x5a093e
mov dword [ebp - 4], 1
jmp 0x5a093e
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x5a0839
mov eax, dword [ebp - 0x20]
cdq
idiv ecx
mov edx, 1
mov dword [ebp - 4], eax
jmp 0x5a0850
mov eax, dword [ebx + 0x11c]
mov ecx, dword [ebp - 0x20]
and eax, 0x100
neg eax
sbb eax, eax
and eax, ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x5a093e
mov dword [ebp - 0x3c], edx
jmp 0x5a094c
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x5a0877
mov eax, dword [ebp - 0x20]
cdq
idiv edi
mov edx, 1
mov dword [ebp - 4], eax
jmp 0x5a088e
mov eax, dword [ebx + 0x11c]
mov edi, dword [ebp - 0x20]
and eax, 0x100
neg eax
sbb eax, eax
and eax, edi
mov dword [ebp - 4], eax
test eax, eax
jne 0x5a089a
mov dword [ebp - 0x3c], edx
jmp 0x5a094c
cmp ecx, 0x1c
jl 0x5a08ac
cmp ecx, 0x2c
jg 0x5a08ac
mov dword [ebp - 0x38], edx
mov dword [ebp - 0xc], edx
jmp 0x5a08b3
mov dword [ebp - 0x38], 0
mov edi, dword [ebp - 0xb8]
xor eax, eax
test edi, edi
jle 0x5a08f1
lea esi, [ebp - 0x5c]
lea ecx, [ebp - 0xa8]
mov edx, dword [ecx - 4]
mov edi, dword [ecx]
mov dword [ebp + eax*4 - 0xd8], edx
mov dword [ebp + eax*4 - 0xf4], edi
mov edi, dword [ebp - 0xb8]
mov dword [esi], edx
inc eax
add ecx, 0xc
add esi, 4
cmp eax, edi
jl 0x5a08c8
mov esi, dword [ebp - 0x2c]
xor eax, eax
xor edx, edx
test edi, edi
jle 0x5a091e
lea ecx, [ebp - 0xf4]
mov edi, dword [ebp + eax*4 - 0x5c]
add ecx, 4
sub edi, dword [ebp + eax*4 - 0xd8]
imul edi, dword [ecx - 4]
add edx, edi
mov edi, dword [ebp - 0xb8]
inc eax
cmp eax, edi
jl 0x5a08ff
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0xbc]
add edx, eax
push ecx
mov dword [ebp - 0x24], edx
lea edx, [ebp - 0x5c]
push edx
push 0
call fcn.005aab10
add esp, 0xc
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x5a0c4c
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, edx
jne 0x5a0f66
cmp dword [ebp - 0x3c], edx
je 0x5a097a
mov eax, dword [esi + 0xc]
cmp eax, edx
jne 0x5a0971
mov dword [esi + 0xc], 2
jmp 0x5a0ca4
inc eax
mov dword [esi + 0xc], eax
jmp 0x5a0ca4
mov edi, dword [esi + 0x4c]
mov eax, dword [esi]
and edi, 0xf7ffffff
mov dword [ebp - 0x30], edx
mov dword [esi + 0x4c], edi
mov ecx, dword [eax + 0x11c]
test ecx, 0x10000
mov dword [ebp - 8], edx
je 0x5a09bd
movsx ecx, byte [esi + 0x48]
mov ecx, dword [ecx*4 + 0x5dcc50]
cmp ecx, edx
je 0x5a09bd
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [ecx + eax]
cmp ecx, edx
je 0x5a09c0
mov eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x5a09c0
mov eax, dword [ebp - 0x1c]
mov dl, byte [esi + 0x48]
movsx ecx, dl
lea edi, [ecx - 0x13]
cmp edi, 0x1e
ja case.0x5a09da.19
xor ecx, ecx
mov cl, byte [edi + 0x5a1128]
jmp dword [ecx*4 + 0x5a10fc]
cmp eax, 5
jl 0x5a0a8f
cmp eax, 0x11
jg 0x5a0a8f
movsx eax, byte [eax + 0x5dcaa3]
mov dword [esi + 0x38], eax
xor eax, eax
mov word [esi + 0x42], ax
mov word [esi + 0x40], ax
jmp case.0x5a09da.19
cmp eax, 5
jl 0x5a0a8f
cmp eax, 0x11
jg 0x5a0a8f
xor eax, eax
mov dword [esi + 0x38], 2
mov word [esi + 0x42], ax
mov word [esi + 0x40], ax
jmp case.0x5a09da.19
cmp eax, 0x19
jl 0x5a0a8f
cmp eax, 0x33
jg 0x5a0a8f
jmp 0x5a0a42
cmp eax, 0x19
jl 0x5a0a6f
cmp eax, 0x33
jg 0x5a0a6f
add eax, 0xffffffe7
lea eax, [eax + eax*2]
movsx ecx, byte [eax + 0x5dcb78]
mov dword [esi + 0x38], ecx
movsx cx, byte [eax + 0x5dcb79]
mov word [esi + 0x40], cx
movsx ax, byte [eax + 0x5dcb7a]
mov word [esi + 0x42], ax
jmp case.0x5a09da.19
cmp eax, 5
jl 0x5a0a8f
cmp eax, 0x11
jg 0x5a0a8f
movsx ecx, byte [eax + 0x5dcaa3]
xor eax, eax
mov dword [esi + 0x38], ecx
mov word [esi + 0x42], ax
mov word [esi + 0x40], ax
jmp case.0x5a09da.19
mov dword [ebp - 8], 0xc000003d
jmp case.0x5a09da.19
movsx eax, word [eax*2 + 0x5dcaf8]
mov dword [esi + 0x38], eax
xor eax, eax
mov word [esi + 0x42], ax
mov word [esi + 0x40], ax
cmp dword [esi + 0x38], 0xffffffff
jne case.0x5a09da.19
mov ecx, dword [ebp - 0x18]
lea eax, [ecx*8]
cmp eax, 0x11
jge 0x5a0af3
mov eax, 0x11
jmp 0x5a0af3
movsx eax, byte [eax + 0x5dcab8]
mov dword [esi + 0x38], eax
xor eax, eax
mov word [esi + 0x42], ax
mov word [esi + 0x40], ax
cmp dword [esi + 0x38], 0xffffffff
jne case.0x5a09da.19
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
cmp eax, 7
jge 0x5a0af3
mov eax, 7
mov dword [esi + 0x38], eax
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, edi
jne 0x5a0e4c
cmp dl, 0x13
jne 0x5a0b0e
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x38], ecx
mov eax, dword [ebx + 0x2c]
cmp dl, 0x1d
mov dword [ebp - 0x40], eax
je 0x5a0b25
cmp dl, 0x13
mov dword [ebp - 0x28], 1
jne 0x5a0b28
mov dword [ebp - 0x28], edi
mov edx, dword [esi + 0x38]
mov dword [ebp - 8], edi
cmp edx, edi
jle 0x5a0bf2
cmp eax, dword [ebx + 0x34]
jae 0x5a0b59
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x5a0b4b
cmp byte [eax], 0x2c
je 0x5a0be8
inc edi
inc eax
cmp edi, edx
jl 0x5a0b36
mov dword [ebp - 8], edi
jmp 0x5a0bf2
mov al, byte [ebx + 0x11c]
mov dword [ebp - 8], edi
test al, 0x80
je 0x5a0bf2
lea eax, [ebp - 0x10]
inc edx
push eax
push 0
push edx
call fcn.005a3d00
add esp, 0xc
test eax, eax
jne 0x5a0e8d
mov esi, dword [ebx + 0x2c]
mov edx, edi
mov edi, dword [ebp - 0x10]
mov ecx, edx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, 0x20202020
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x38]
lea edi, [esi + edx]
sub ecx, edx
mov esi, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x10]
mov edi, edx
mov ecx, dword [eax + 0x38]
mov byte [esi + ecx], 0
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x38]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebx + 0xc0]
sub eax, edx
add ecx, eax
mov dword [ebx + 0xc0], ecx
jmp 0x5a0bf2
mov dword [ebp - 8], edi
mov dword [ebp - 0x30], 1
mov eax, dword [ebx + 0xc0]
mov ecx, dword [esi + 0x38]
test eax, eax
mov dword [ebp - 0x28], ecx
jne 0x5a0c05
mov dword [esi + 0x38], edi
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x24]
push edx
push eax
push esi
call fcn.005a9690
add esp, 0xc
mov dword [ebp - 8], eax
test eax, eax
jne 0x5a0ea1
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.005a3d70
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0xc0]
add edx, edi
add esp, 4
add ecx, edx
test eax, eax
mov dword [ebx + 0x2c], ecx
jne 0x5a0ca4
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x38], eax
jmp 0x5a0ca4
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], 0
cmp edx, 5
jl 0x5a0f0d
cmp edx, 0x11
jg 0x5a0f0d
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x2c]
sub ecx, eax
mov eax, 0
sets al
dec eax
and eax, ecx
lea ecx, [edx - 5]
cmp ecx, 0xc
ja case.default.0x5a0c87
jmp dword [ecx*4 + 0x5a1148]
mov byte [edi], al
jmp 0x5a0ca4
mov word [edi], ax
jmp 0x5a0ca4
mov dword [edi], eax
jmp 0x5a0ca4
cdq
mov dword [edi], eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 4], edx
mov eax, dword [ebx + 0x94]
test eax, eax
jle 0x5a0f66
jmp 0x5a03ac
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x5a0e16
mov edx, dword [ebx + 0x28]
push edx
jmp 0x5a0de4
inc ecx
xor eax, eax
mov dword [esi + 0xc], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x5a0e16
mov eax, dword [ebx + 0x28]
push eax
jmp 0x5a0de4
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x5a0e43
inc eax
mov dword [esi + 0xc], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x5a0fac
mov ecx, dword [ebx + 0x28]
push ecx
jmp 0x5a0f7a
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x5a0d55
mov edx, dword [ebx + 0x28]
push edx
call fcn.005a3d70
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
sub eax, ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
add esp, 4
sub esi, eax
sub edx, eax
sub ecx, eax
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x6c], 0
push ebx
push 0xc000003c
push 0xc000003c
push 1
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x5a0dae
mov eax, dword [ebx + 0x28]
push eax
call fcn.005a3d70
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
sub eax, ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
add esp, 4
sub esi, eax
sub edx, eax
sub ecx, eax
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x6c], 0
push ebx
push 0xc0000018
push 0xc0000018
push edi
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0xc], 2
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x5a0e16
mov ecx, dword [ebx + 0x28]
push ecx
call fcn.005a3d70
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
sub eax, ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
add esp, 4
sub esi, eax
sub edx, eax
sub ecx, eax
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x6c], 0
push ebx
push edi
push edi
push 1
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x5a0e3f
mov dword [esi + 0xc], 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc eax
mov dword [esi + 0xc], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x6c], edi
je 0x5a0eea
mov edx, dword [ebx + 0x28]
push edx
call fcn.005a3d70
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
sub eax, ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
add esp, 4
sub esi, eax
sub edx, eax
sub ecx, eax
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x6c], 0
jmp 0x5a0eea
push ebx
push eax
push eax
push 1
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x5a0ede
mov eax, dword [ebx + 0x28]
push eax
call fcn.005a3d70
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
sub eax, ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
add esp, 4
sub esi, eax
sub edx, eax
sub ecx, eax
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x6c], 0
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.005a3d70
add esp, 4
mov eax, dword [ebp - 8]
push ebx
push eax
push eax
push 1
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xc0000030
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x5a0f4a
mov edx, dword [ebx + 0x28]
push edx
call fcn.005a3d70
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
sub eax, ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
add esp, 4
sub esi, eax
sub edx, eax
sub ecx, eax
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x6c], 0
push ebx
push 0xc000003d
push 0xc000003d
push 1
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x94], 1
jge 0x5a0fc8
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x5a0fac
mov eax, dword [ebx + 0x28]
push eax
call fcn.005a3d70
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
sub eax, ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
add esp, 4
sub esi, eax
sub edx, eax
sub ecx, eax
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x6c], 0
push ebx
push 0xc0000018
push 0xc0000018
push 1
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x4c]
test eax, 0x2000000
je 0x5a1039
mov ecx, dword [esi + 4]
and eax, 0xfdffffff
push ecx
mov dword [esi + 0x4c], eax
call fcn.005a3d70
mov esi, eax
xor edi, edi
add esp, 4
cmp esi, edi
je 0x5a103b
cmp dword [ebx + 0x6c], edi
je 0x5a1025
mov edx, dword [ebx + 0x28]
push edx
call fcn.005a3d70
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x28]
mov edx, dword [ebx + 0x34]
sub eax, ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x2c]
sub ecx, eax
add esp, 4
mov dword [ebx + 0x2c], ecx
mov ecx, dword [ebx + 0x38]
sub edx, eax
sub ecx, eax
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x6c], edi
push ebx
push esi
push esi
push 1
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
cmp dword [ebx + 0x6c], edi
je 0x5a1072
mov eax, dword [ebx + 0x28]
push eax
call fcn.005a3d70
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
sub eax, ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x38]
add esp, 4
sub esi, eax
sub edx, eax
sub ecx, eax
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x6c], edi
mov ecx, dword [ebx + 0x118]
mov eax, dword [ebx + 0x11c]
and ecx, 0xfdc6ffff
and eax, 0xfffffddf
mov dword [ebx + 0x118], ecx
mov ecx, dword [ebx + 0xb8]
push ecx
mov dword [ebx + 0x11c], eax
call fcn.005a8210
add esp, 4
cmp eax, edi
je 0x5a10bb
push ebx
push eax
push eax
push edi
call fcn.005a4200
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
mov dword [edx + 4], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret